Entwickler-Ecke

Windows API - WM_MOUSEDOWN-Event abfangen


fidionael - Mi 05.07.06 12:30
Titel: WM_MOUSEDOWN-Event abfangen
Hallo, ich habe jetzt schon dieses Forum und Google auf den Kopf gestellt und bin dennoch noch nicht weiter.

Ich möchte gerne, für eine Komponente, an der ich gerade arbeite das MouseDown / MouseUp-Event manuell abfangen. Ich habe meine Komponente vom Typ TGraphicControl abgeleitet.

Ich möchte meine Events auf die gleiche Weise abfangen, wie z. B. die Events MouseEnter und MouseLeave:


Delphi-Quelltext
1:
2:
procedure cmMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure cmMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;


Ich war mir eigentlich ziemlich sicher, dass ich MouseDown und MouseUp via WM_MOUSEDOWN, bzw. WM_MOUSEUP abfangen könnte


Delphi-Quelltext
1:
2:
procedure wmMouseDown(var Message: TMessage); message WM_MOUSEDOWN;
procedure wmMouseUp(var Message: TMessage);   message WM_MOUSEUP;


doch ich bekomme beim Kompilieren die Fehlermeldung, dass WM_MOUSEDOWN und WM_MOUSEUP undefinierte Bezeichner seien.

Kann mir jemand helfen? Danke schonmal im Vorraus.


Grendel - Mi 05.07.06 12:51

Es gibt kein WM_MOUSEDOWN und WM_MOUSEUP. Die gesuchten Messages heißen WM_LBUTTONDOWN und WM_LBUTTONUP für Klicks mit der linken Taste bzw. WM_RBUTTONDOWN und WM_MBUTTONDOWN für Klicks mit der rechten bzw. mittleren Taste.

Bis neulich ...


fidionael - Mi 05.07.06 12:54

Danke :oops: