![]() |
MouseUp Event mit gedrückter rechter Maustaste
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich habe folgendes festgestellt. Linke Maustaste gedrückt halten auf einem Button führt zum MouseDown. Linke Maustaste auf dem Button oder irgendwo anders loslassen (auf der Form oder außerhalb der Anwendung) führt zum MouseUp. Rechte Maustaste gedrückt halten auf einem Button führt zum MouseDown. Rechte Maustaste auf dem Button oder irgendwo anders loslassen (auf der Form oder außerhalb der Anwendung) führt NICHT zum MouseUp. Gibt es da eine Möglichkeit, dass das MouseUp auch bei gedrückter rechter Maustaste kommt, wenn die Komp mit der Maus eigentlich "verlassen" wurde? |
AW: MouseUp Event mit gedrückter rechter Maustaste
Das geht mit SetCapture/ReleaseCapture.
Delphi-Quellcode:
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin if Button = TMouseButton.mbRight then SetCapture(sbx1.Handle); ... end; procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = TMouseButton.mbRight then ReleaseCapture; ... end; |
AW: MouseUp Event mit gedrückter rechter Maustaste
Ja du kannst WM_RBUTTONUP abfangen. Dann klappt es wie du es wünschst; also entweder durch einen eigenen Handler oder via TApplicationEvents:
Delphi-Quellcode:
procedure TForm17.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if Msg.message = WM_RBUTTONUP then showmessage( 'hallo' ); end; Tipp: Wenn du alle Mausmeldungen abfangen willst, wenn zum Beispiel wieder mal was mit der Maus nicht so funktioniert wie du es gern hast und du mal sehen willst, was alles an WM_Maus ankommt:
Delphi-Quellcode:
procedure TForm17.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); begin if ( Msg.message >= WM_MOUSEFIRST ) and ( Msg.message <= WM_MOUSELAST ) then begin ... end; end; |
AW: MouseUp Event mit gedrückter rechter Maustaste
SetCapture und ReleaseCapture kannte ich gar nicht. Danke.
Sollte man das dann nicht auch beim linke Maustaste nutzen oder wirklich nur bei der rechten? |
AW: MouseUp Event mit gedrückter rechter Maustaste
Für die Linke Taste hat die Vcl das im TButtonStyleHook schon so drin.
Die Frage ist, warum nicht auch für die rechte und mittlere Maustaste? |
AW: MouseUp Event mit gedrückter rechter Maustaste
Danke, wieder was dazu gelernt ;-)
|
AW: MouseUp Event mit gedrückter rechter Maustaste
Links ist/war für Drag&Drop nötig.
SelectionChange ist oft auch nur für Links drin, aber beim Kontextmenü an Listen fehlt es. |
AW: MouseUp Event mit gedrückter rechter Maustaste
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz