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

Ваш аккаунт

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

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

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

TBitmap ambiguity

499
12 июня 2007 года
madjahed
149 / / 14.01.2004
Значит такая проблема: нужно обрабатывать событие OnPaint TSpeedButton'a.

void __fastcall ButtonPaint(TObject *Sender, TBitmap *Bmp)

При добавлении обработчика этого события появляется ошибка "Ambiguity between TBitmap and Windows::TBitmap". Подабалвял в обработчик вместо TBitmap Graphics::TBitmap.

void __fastcall ButtonPaint(TObject *Sender, Graphics::TBitmap *Bmp)

Теперь Builder отказвается воспринимать его как обработчик этого события.

Есть предложения, как всё-таки я смогу обрабатывать это событие?
1.9K
12 июня 2007 года
Underworld
68 / / 29.03.2004
Попробуй поиграться с namesapce'ом.
499
12 июня 2007 года
madjahed
149 / / 14.01.2004
Цитата: Underworld
Попробуй поиграться с namesapce'ом.



Неа, пробовал уже. Что using namespace Graphics, что using namespace Windows - нифига не помогает.

309
13 июня 2007 года
el scorpio
1.1K / / 19.09.2006
Какая версия билдера????
Ничего не путаешь? У объектов класса TSpeedButton нет события OnPaint
499
13 июня 2007 года
madjahed
149 / / 14.01.2004
Билдер 6, компонент TsSpeedButtton (Из AlphaSkins), но суть ведь не в этом, а в том, что не получается написать просто TBitmap как аргумент обработчика.
309
14 июня 2007 года
el scorpio
1.1K / / 19.09.2006
Цитата:
void __fastcall ButtonPaint(TObject *Sender, Graphics::TBitmap *Bmp)

Теперь Builder отказвается воспринимать его как обработчик этого события.


А что компилятор пишет? Обычно сообщение об ошибке имеет вид: "Невозможно привести тип XYZ в тип XZY".
Назначь обработку события вручную, и сам увидишь, как нужно объявить метод-обработчки.

 
Код:
Object->Event = this->Method; // Вот так, без параметров
499
14 июня 2007 года
madjahed
149 / / 14.01.2004
Компилятор не понимает какой TBitmap использовать: из namespace'a Windows или Graphics. Когда я его головой тычу, и говорю, что мне нужен TBitmap из Graphics - Graphics::TBitmap - он начинает ругаться, что этот обработчик - не настоящий, т.к. аргумент в нём не типа TBitmap, а типа Graphics::TBitmap.

Короче буду я писать MESSAGE_HANDLER, обрабатывать событие OnPaint вручную и жить спокойно...
1
14 июня 2007 года
kot_
7.3K / / 20.01.2000
Цитата: madjahed
Компилятор не понимает какой TBitmap использовать: из namespace'a Windows или Graphics. Когда я его головой тычу, и говорю, что мне нужен TBitmap из Graphics - Graphics::TBitmap - он начинает ругаться, что этот обработчик - не настоящий, т.к. аргумент в нём не типа TBitmap, а типа Graphics::TBitmap.

Короче буду я писать MESSAGE_HANDLER, обрабатывать событие OnPaint вручную и жить спокойно...


С подобной проблемой я сталкивался при работе с TDBGridEh - если хочешь можешь поискать эту тему - помоему год 2004-2005 - выхода два - не обращать внимания на ругательства или в конструкторе формы переопределять обработчик нужного события с нужными параметрами. И то и другое вполне работает.

61K
17 мая 2010 года
yuryhor
1 / / 17.05.2010
#define TBitmap Graphics::TBitmap

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