C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Событие для компонента
** Алексей
Отправлено: 16.05.2005, 07:44


Не зарегистрирован







Во время выполнения программы на компоненте ScrollBox создается Image, в который загружается картинка.Как написать события для Image ? (Ну например MouseMove)
AVC
Отправлено: 16.05.2005, 11:16


Ветеран

Группа: Модератор
Сообщений: 1583



Положить сверху Label и работать с ним.
Rius
Отправлено: 16.05.2005, 13:04


Мастер участка

Группа: Участник
Сообщений: 321



Ищи создание компонентов.
Делаешь производный от TImage компонент, переопределяешь ему функцию WndProc:
CODE
void __fastcall TMyImage::WndProc(TMessage& Message)
{
TImage::WndProc(Message);
switch(Message.Msg)
{
case WM_MOUSEMOVE: WMOnMouseMove(Message); break;
}
}
//---------------------------------------------------------------------------

void __fastcall TMyImage::WMOnMouseMove(TMessage& Message)
{
...
if(FOnMouseMove) FOnMouseMove(this);
}

в заголовочном файле класса:
CODE
...
private:
TNotifyEvent FOnMouseMove;
void __fastcall WMOnMouseMove(TMessage& Message);
       void __fastcall WndProc(TMessage& Message);
...
__published:
__property TNotifyEvent OnMouseMove = {read=FOnMouseMove, write=FOnMouseMove};
...


Отредактировано Rius — 16/05/2005, 16:10
Sl@Sh
Отправлено: 16.05.2005, 16:14


Мастер участка

Группа: Участник
Сообщений: 383



Создаёте функцию обработчик, затем по идее можно так : Image1->OnMouseMove = MouseMove;

MouseMove функция-обработчик. Параметры должны быть точно такими-же как у оригинала.

Удачи !

Вернуться в Вопросы программирования в C++Builder