Hallo!
Hab wie ein glitzekleines Problem.
Ich möchte gerne die Nachricht
WM_[NC]MOUSELEAVE abfangen. Leider fangen da schon die Probleme an, ich bekomme diese Nachricht nie. In der Hilfe habe ich dann gelesen, dass ich zuerst per
TrackMouseEvent dem System verständluch machen muss, dass ich diese Nachricht bekommen möchte (so habe ich es jedenfalls verstanden). Dies habe ich dann auch gemacht, aber ich bekomme diese Nachricht dann nur beim Programmstart und dann nicht mehr. Hier mein Quelltext.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| private procedure MouseLeave(var Msg: TMessage); message WM_MOUSELEAVE;
procedure OnCreate{...}; var MouseEvent: tagTRACKMOUSEEVENT; begin with MouseEvent do begin cbSize := SizeOf(MouseEvent); dwFlags := TME_LEAVE; hwndTrack := Application.Handle; dwHoverTime := HOVER_DEFAULT; end; TrackMouseEvent(MouseEvent); |
Hat jemand eine Ahnung was daran falsch ist, bzw. warum ich die Nachricht nicht bekomme?
Zudem interessiert mich noch, wie Konstanten für
WM_NCMOUSELEAVE aussehen und der entsprechende Flag für
dwFlags (wie z.B. TME_LEAVE).
Vielen Dank für Eure Hilfe!
Hans-Peter
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.