Thema: Delphi Popup Menu anzeigen

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Popup Menu anzeigen

  Alt 21. Sep 2005, 14:49
folgende Funktion öffnet das Popup Menu eines bestimmten Controls.
Delphi-Quellcode:
function ShowPopupMenu(control: TControl):Longint;
begin
   control.Perform(WM_CONTEXTMENU, 0, Integer(PointToSmallPoint(control.ClientToScreen(Point(2, 2)))));
end;
Beispiel:
Ein Button zeigt beim Klick auf linke Maustaste sein Kontextmenu an
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowPopupMenu(Button1);
end;
Der Unterschied zum Einfachen verwenden von bereits vorhandenen Methoden ist:
Das Popup Menu wird geöffnet, ohne dass man das Popup Menu direkt kennen müsste. Könnte auch sein, dass der Button kein Popup Menu besitzt, aber dafür das übergeordnete Control. In diesem Fall öffnet sich das Popup Menu des Parent Controls. Durch das Versenden vom WM_CONTEXTMENU wird die Arbeit, das passende Popup-Menu zu öffnen, der VCL übertragen.

[edit=Chakotay1308]Hinweis zum Unterschied angefügt. Mfg, Chakotay1308[/edit]
Andreas
  Mit Zitat antworten Zitat