Вниз
Скачать: CL | DM;

Приход / уход мыши   Найти похожие ветки 

← →
Mischka ©   (2003-05-14 07:36) [0]

Пытаюсь в главной оконной функции отловить событие WM_MOUSEHOVER и WM_MOUSELEAVE. Ничего не происходит, как будто мое окно не получает таких сообщений вообще.
Вот код:
function WindowProc(Window: HWND; Message, wParam: Word; lParam: longint): longint; stdcall;
begin
Result:=0;
case Message of
WM_MOUSEHOVER: beep(440, 40);
...
end;
end;


← →
MBo ©   (2003-05-14 07:41) [1]

WM_MOUSEHOVER
что это???????????????????


← →
Mischka ©   (2003-05-14 07:52) [2]

Да хрен его знает. Майкрософт пишет, что такое сообщение должно передаваться окну при приходе мыши.


← →
MBo ©   (2003-05-14 08:22) [3]

просто так они не возникают - для WM_MOUSELEAVE надо TrackMouseEvent делать с TME_LEAVE.
Попробуй то же и с MOUSEHOVER.
IMHO, проще MouseMove отслеживать.


← →
Mischka ©   (2003-05-14 08:32) [4]

TrackMouseEvent я делаю, ни хрена не помогает


← →
NAlexey ©   (2003-05-14 11:37) [5]

Ну а просто MouseEnter/MouseLeave?


← →
Mischka ©   (2003-05-14 12:29) [6]

И куда их пихать? Я че-то не догоняю...


← →
NAlexey ©   (2003-05-14 12:59) [7]

>И куда их пихать? Я че-то не догоняю...
Э-э-э... М-м-м. Кого прости "пихать"?
Обрабатывай сообщения CM_MOUSELEAVE и CM_MOUSEENTER.

procedure CMMouseLeave(var Message: TMessage);
begin
if Message.LParam = Integer(YourControl) then
begin
(...)
end;
inherited;
end;

Ну и Enter также.


← →
Mischka ©   (2003-05-14 14:31) [8]

Да нету у меня никаких контролов. Есть только окно созданное API-функциями - HWND


← →
Игорь Шевченко ©   (2003-05-14 15:19) [9]

Посмотри исходники forms.pas TApplication.DoIdle

или внимательно почитай про TrackMouseEvent



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
4-55889
Comwad
2003-05-15 08:44
2003.07.17
Как создать программно ярлык на рабочем столе?


1-55643
GENA
2003-07-04 01:38
2003.07.17
Изменение компонентов на форме


14-55804
Andryk
2003-06-30 17:35
2003.07.17
Однако даже в билетах экзаменов ПДД есть юмор :о))


3-55415
andrew_kv
2003-06-24 08:50
2003.07.17
Есть соединение с SQL сервером через ADO


3-55386
Free_User
2003-06-23 12:17
2003.07.17
Disconnect




   Наверх