Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: VCL / WinForms / Controls (https://www.delphipraxis.net/24-library-vcl-winforms-controls/)
-   -   Delphi Popup Menu anzeigen (https://www.delphipraxis.net/53696-popup-menu-anzeigen.html)

shmia 21. Sep 2005 14:49


Popup Menu anzeigen
 
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]


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz