![]() |
auf dynamisch erzeugte untermenüeinträge zugreifen
hallo leute,
ich erzeuge dynamisch untermenüeinträge, es können max. 6 einträge werden.. das hab ich auch gut hinbekommen, meine einträge werden immer schön aufgelistet. Jetzt brauche ich aber jeweils ne onclick funktion ?? wie krieg das denn hin ??? :gruebel: ungefähr so erzeuge ich die Einträge [/delphi for i := 0 to iMax do begin SubItem := TMenuItem.Create(Self); // Erzeugen des Untermenüeintrags SubItem.Caption:= 'eintrag'; // Name des Untermenüeintrages} Item.Add(SubItem); // Einfügen des Untermenüeintrages end; //for [delphi] |
Re: auf dynamisch erzeugte untermenüeinträge zugreifen
So sollte es gehen:
@SubItem.OnClick := @MyOnClick; EDIT: Dabei wäre zu beachten dass, wenn die Procedure nicht in einer Komponente deklariert ist, die OnClick einen weiteren Parameter (ASelf: TObject) haben muss: also würde das so aussehen:
Delphi-Quellcode:
procedure OnClick(ASelf: TObject; Sender: TObject);
|
Re: auf dynamisch erzeugte untermenüeinträge zugreifen
Das @ braucht man eigentlich nicht.
Das OnClick muss aber bereits implementiert sein. Etwa so:
Delphi-Quellcode:
Deine SubItems sollten dann ein durchlaufendes Tag haben. Anhand dessen kannst due sie dann innerhalb eines OnClick-Events unterscheiden.
procedure TForm1.MenuItemClick(Sender: TObject);
begin case (Sender as TControl).Tag of 0: ; 1: ; end; end; |
Re: auf dynamisch erzeugte untermenüeinträge zugreifen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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