Thema: Delphi MouseUp in Popupmenu

Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: MouseUp in Popupmenu

  Alt 27. Apr 2023, 22:31
Beim Gedrückthalten der Maus auf einen Button öffnet sich ein Popupmenu neben dem Button.
Nun soll der Benutzer meim Loslassen der Maus die Procedure auslösen, die dem entsprechendem MenuItem zugewiesen ist.
Ein kurzes Beispiel zeigt, dass das (zumindest in 11.3.1) ohne weiteres Zutun funktioniert. Dazu habe ich im OnMouseDown-Event des Controls folgenden Code:
Delphi-Quellcode:
  if (Button = TMouseButton.mbRight) and (Shift = [ssRight]) then begin
    var P := (Sender as TControl).ClientToScreen(TPoint.Create(X, Y));
    PopupMenu1.Popup(P.X, P.Y);
  end;
Beim Loslassen der rechten Maustaste wird dann der OnClick-Event ausgeführt.

Das funktioniert aber nur mit der rechten Maustaste, weil es für das PopupMenu ein WM_MENURBUTTONUP aber kein WM_MENULBUTTONUP gibt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat