Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Не могу поймать WM_MOUSELEAVE   Найти похожие ветки 

 
pasha_golub ©   (2004-03-12 10:28) [0]


TForm1 = class(TForm)
...
   procedure WndProc(var Message: TMessage); override;
 end;

...

procedure TForm1.WndProc(var Message: TMessage);
begin
if Message.Msg = WM_MOUSELEAVE then
     Application.MessageBox("vl;h",nil); //не срабатывает
inherited;
end;


 
Serge ©   (2004-03-12 10:30) [1]

cm_mouseleave


 
pasha_golub ©   (2004-03-12 10:32) [2]

Serge ©   (12.03.04 10:30) [1]
Сработало. НО чего-то яы не догоняю. Почему все-таки WM_MOUSELEAVE не ловится?


 
NAlexey ©   (2004-03-12 10:40) [3]

>pasha_golub ©
Ты не так ловишь.


 
pasha_golub ©   (2004-03-12 10:43) [4]

Я и так ловил:


...
procedure WMMouseLeave(Msg: TMessage); message WM_MouseLEAVE;


ТОже не ловилось.

2NAlexey ©   (12.03.04 10:40) [3]
А как ловить?


 
pasha_golub ©   (2004-03-12 10:55) [5]

Вообщем только что сильно удивился. Оказывается Виндоуз не посылает сама сообщения WM_MOUSELEAVE, а их надо генерировать самому. Или я чего-то не так понял?


 
NAlexey ©   (2004-03-12 11:09) [6]


procedure TForm1.xOnMessage(var Message: TMsg; var Handled: Boolean);
var
 Event: TTrackMouseEvent;
begin
 case Message.message of
 WM_MOUSEMOVE:
 begin
   with Event do
   begin
     cbSize := SizeOf(Event);
     dwFlags := TME_LEAVE;
     hwndTrack := Message.hwnd;
   end;
   _TrackMouseEvent(@Event);
 end;
 WM_MOUSELEAVE:
   Caption := "Leave";
 end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.OnMessage := xOnMessage;
end;


 
pasha_golub ©   (2004-03-12 11:11) [7]

NAlexey ©   (12.03.04 11:09) [6]
Угу, это я уже нашел спасибо. Ну и геморрой.

А вот еще вопрос. Откуда идет посыл сообщения CM_MOUSELEAVE?


 
pasha_golub ©   (2004-03-12 11:17) [8]

Вот откуда посыл идет
function TApplication.DoMouseIdle: TControl;



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
4-1075207610
GrayFace
2004-01-27 15:46
2004.04.04
Как узнать размер памяти какого-то процесса?


6-1075476098
fyz
2004-01-30 18:21
2004.04.04
почта по локальой сети


1-1079594675
Billy
2004-03-18 10:24
2004.04.04
Как узнать существует ли данная форма???


14-1078526258
Мазут Береговой
2004-03-06 01:37
2004.04.04
Что скажете вот на это? Читайте по ссылке...


6-1075397579
laumer
2004-01-29 20:32
2004.04.04
Как отловить момент окончания щтправки потока