![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CM_MOUSEENTER, CM_MOUSELEAVE и TSpeedButton [D7, WinXP]
X9 © (2004-06-26 14:43:00)Здравствуйте, Мастера!
Скажите, как можно отловить сообщения CM_MOUSEENTER и CM_MOUSELEAVE для TSpeedButton, ведь данный компонент не имеет собственного Handle.
jack128 (2004-06-26 14:54:00) [1]
> а так есть WindowProc
угу, значит - три варианта решения
jack128 (2004-06-26 14:51:00) [2]
> сообщения CM_MOUSEENTER и CM_MOUSELEAVE для TSpeedButton,
> ведь данный компонент не имеет собственного Handle.
это не виндовые сообщения - они реализуются внутреннеми механизмами Delphi(cм TObject.Dispatch, TObject.DefaultHandler и тд) и поэтому хендл тут не нужен.
Вырантов решения два:
Либо писать наследника от TSpeedButton и перехватывать эти сообщения, либо отлавливать эти соощения у родителя кнопки (обычно форма) и смотреть
if Message.lParam = Integer(MyCoolSpeedButton) then
begin
...
end;
GuAV (2004-06-26 14:49:00) [3]Не имеет. Ловить средствами Дельфи. У наследника проще всего через message methods а так есть WindowProc