Главная страница
    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.009 c
3-55437
Карелин Артем
2003-06-24 12:55
2003.07.17
Извлечение данных из испорченной базы.


3-55400
Вит
2003-06-23 14:31
2003.07.17
Как в Runtime какому-нибудь MEMO FastReport-а присвоить значение


14-55776
Axis_of_Evil
2003-06-30 14:01
2003.07.17
Zerling


1-55551
Mishenka
2003-07-06 17:37
2003.07.17
Как обработать сразу все компоненты в GroupBox?


3-55473
softmaster
2003-06-22 20:15
2003.07.17
Вопрос по генерации автоинкрементных полей





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский