WM_RBUTTONUP scheint nicht anzukommen

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
thosch
Beiträge: 324
Registriert: Mo 10. Jul 2017, 20:32

WM_RBUTTONUP scheint nicht anzukommen

Beitrag von thosch »

Hallo,

Mich beschäftigt ein Phänomen des Windows API.

Wenn ich die Rechte Maustaste klicke und eine Boolean Variable darauf abfrage, bleibt sie auf true, wenn ich die rechte Maustaste wieder loslasse.

Code: Alles auswählen

        if theMessage = WM_RBUTTONDOWN then begin
                                        MouseR:=true;

                                        end;
        if theMessage = WM_RBUTTONUP then begin
                                        MouseR:=false;
Dieses Phänomen tritt nur bei der rechten Maustaste auf, nicht jedoch bei den beiden anderen.

Soll das etwa gar so sein? Für Kontextmenüs, die ich dann mit der linken Maustaste wieder weg klicken kann. Oder ist da mit meinem Windows was nicht in Ordnung? Wo muss ich da nach dem Fehler suchen?

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: WM_RBUTTONUP scheint nicht anzukommen

Beitrag von theo »

Gibt es einen Grund, nicht die LCL zu verwenden?
Funktioniert es mit OnMouseUp?

aro
Beiträge: 130
Registriert: Di 26. Jul 2011, 19:58
OS, Lazarus, FPC: Deepin 20.2; Lazarus 2.0.0 + dfsg-2
CPU-Target: 64Bit

Re: WM_RBUTTONUP scheint nicht anzukommen

Beitrag von aro »

Hallo,

ich kann das nicht nachvollziehen, weil ich kein WINDOWS und damit kein Delphi mehr habe.
Aber möglicherweise wird das Ereignis für den Start des PoupMenu verwendet, und steht deshalb nicht mehr zur Verfügung.

Wenn Du das unbedingt benötigst, bleibt Dir wahrscheinlich nichts anderes übrig, als ein neues Objekt abzuleiten und die Funktion zum abfangen der Message neu zu schreiben.

Antworten