Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

TColor vs. RGB?

8.9K
22 февраля 2005 года
Забияка
8 / / 28.01.2005
Помогите, плиз вот в чем.
На такую строку в программе:

[COLOR=blue]Image2->Canvas->Brush->Color = 0x00DDDDDD;[/COLOR]

идет предупреждение типа:

[COLOR=blue][C++ Warning] anload.cpp(597): W8018 Assigning int to TColor[/COLOR]

На тождественную строку вида:

[COLOR=blue] Image2->Canvas->Brush->Color = RGB(221,221,221);[/COLOR]

соответственно предупреждение:

[COLOR=blue][C++ Warning] anload.cpp(575): W8018 Assigning unsigned long to TColor[/COLOR]

Что делать? Можно ли как-то избавиться от этих ворнингов?
368
22 февраля 2005 года
rostyslav
629 / / 13.07.2004
Image2->Canvas->Brush->Color = (TColor)0x00DDDDDD;

Image2->Canvas->Brush->Color = (TColor)RGB(221,221,221);

или все оставить как есть, только в начало cpp файла написать
#pragma warn -8018
8.9K
24 февраля 2005 года
Забияка
8 / / 28.01.2005
Цитата:
Originally posted by rostyslav
Image2->Canvas->Brush->Color = (TColor)0x00DDDDDD;

Image2->Canvas->Brush->Color = (TColor)RGB(221,221,221);

или все оставить как есть, только в начало cpp файла написать
#pragma warn -8018



Спасибо!
Самостоятельно нашел еще способ:

Image2->Canvas->Brush->Color = StringToColor("0x00DDDDDD");

Так тоже не реагирует, хотя почему?? :)

259
24 февраля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Забияка


Спасибо!
Самостоятельно нашел еще способ:

Image2->Canvas->Brush->Color = StringToColor("0x00DDDDDD");

Так тоже не реагирует, хотя почему?? :)


Это связано с концепцие С++ явног приведения типов. В С++ типы операндов должны быть одинаковыми. А для классов неявное приведение типов не используется. Оно и к лучшему.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог