Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
14-55756
Sheng
2003-07-02 20:37
2003.07.17
Кто чем пользуется?


14-55806
Renegate
2003-06-30 08:19
2003.07.17
DelphiX


4-55898
velsi
2003-05-16 10:20
2003.07.17
sendmessage


11-55488
Ал
2002-11-13 15:45
2003.07.17
Как в KOL


1-55562
keymaster
2003-07-05 20:42
2003.07.17
Проблема с MDI





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский