Hallo,
ich möchte über einem Ownerdraw-Button reagieren, wenn sich der Mauscursor über dem Button befindet. Das ist so mit WM_DRAWITEM nicht lösbar, also habe ich's jetzt mit TrackMouseEvent probiert.
Die Struktur TRACKMOUSEEVENT habe ich global declariert, bei WM_CREATE habe ich nach der Erzeugung des Buttons die Struktur gefüllt
(global)
tme TRACKMOUSEEVENT <>
(WndProc, WM_CREATE)
mov tme.cbSize, sizeof tme
mov tme.dwFlags, TME_HOVER or TME_LEAVE
mov tme.hwndTrack, eax ;eax = Handle des Btns
mov tme.dwHoverTime, HOVER_DEFAULT
invoke TrackMouseEvent, addr tme
und warte nun in der WndProc, leider vergeblich, auf WM_MOUSEHOVER bzw. WM_MOUSELEAVE, wenn ich mit der Maus über dem Button bin. Weiß jemand, was ich da falsch mache?
Gruß Rainer
TrackMouseEvent
Moderatoren: crack, Krüsty, Marwin
- crack
- Administrator
- Beiträge: 280
- Registriert: Dienstag 21. Dezember 2004, 15:02
- Wohnort: 53783 Eitorf
- Kontaktdaten:
Re: TrackMouseEvent
Axo, ich glaube Du musst WM_MOUSEOVER bzw. WM_MOUSELEAVE in der MessageLoop abfangen und nicht in der WndProc ...
mit freundlichen grüssen,
with best regards,
crack
with best regards,
crack
-
Rainer
- Alter Hase
- Beiträge: 81
- Registriert: Freitag 21. Juli 2006, 14:39
- Wohnort: Senftenberg
- Kontaktdaten:
Re: TrackMouseEvent
Hallo crack,
danke, mit Subclassing ging's dann auch..
Gruß Rainer
danke, mit Subclassing ging's dann auch..
Gruß Rainer