![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как знать, что мышь покинула кнопку? [D7, Win95/98, WinME, Win2k, WinXP]
Митяй2 © (2005-01-26 20:07:00)Как знать, что указатель мыши покинул кнопку TBitBtn?
Конечно, я могу использовать OnMouseMove формы, но это как-то не красиво, и при этом я могу привести несколько примеров, когда мы не получим нужного результата (не узнаем, что указатель не на кнопке) при использов. события OnMouseMove формы:
- переключились на другое приложение Alt+Tab
- открылась модально другая форма этого же приложения
и т.п.
GrayFace (2005-02-02 02:14:00) [1]Меняй WindowProc у кнопки.
tmpname (2005-01-27 18:01:00) [2]У меня CM_MOUSELEAVE успешно отлавливалось в WndProc
Muchacho (2005-01-26 22:57:00) [3]www.delphiworld.narod.ru - там есть как это сделать. Поищи OnMouseLeave
Митяй2 (2005-01-26 21:18:00) [4]Спасибо, попробуем сделать наследника TBitBtn
Gero (2005-01-26 21:17:00) [5]Делай наследника интересующего тебя компонента и в нем лови CM_MOUSELEAVE.
Митяй2 (2005-01-26 21:12:00) [6]В TfmForm = class(TForm)
public пишу:
procedure MyAppMessage(var Msg: TMsg; var Handled: Boolean);
при OnCreate формы пишу:
Application.OnMessage:=fmForm.MyAppMessage;
Много всяких сообщений отлавливается, только не CM_MOUSELEAVE, не приходит оно и все. :-((((
Митяй2 (2005-01-26 20:12:00) [7]Попробуем отловить...
Gero (2005-01-26 20:10:00) [8]CM_MOUSELEAVE