![]() |
Mehrere Anweisung in einem OnClick-Ereignis
Hi, hab mal wieder ne Frage, ich hab mit der Kompo "CoolTrayIcon" gearbeitet und wollte alle Items (bis auf das letzte) in ein PopupMenu einfügen (PopupMenu1) und dann per zuweisen eines onClick-ereignisses eine variable(ein String, der genauso heißt wie das item) definieren und danach eine prozedur starten, die die variable beinhaltet.
Hier der Code der prozedur:
Delphi-Quellcode:
Meine Frage ist, ob dies überhaupt möglich ist, und wenn ja, wie?
procedure TForm1.Button8Click(Sender: TObject);
var i, n: Integer; game: String; NewItem: TMenuItem; begin SaveConfig; n:=3; for i:= 0 to ComboBox1.Items.Count-2 do begin n:=n+1; game:=ComboBox1.Items[i]; NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=(game); NewItem.Tag:=n; NewItem.OnClick:=(begin gamename:=NewItem.Caption; StartGame; end;); //<-geht das? gamename, ist eine variable, die für das gesamte Formular erreichbar ist. end; Application.Minimize; CoolTrayIcon1.IconVisible:=true; CoolTrayIcon1.PopupMenu:=PopupMenu1; end; |
Re: Mehrere Anweisung in einem OnClick-Ereignis
Hi,
so ist das nicht möglich. Du musst eine eigene Prozedur dafür anlegen. Beispiel:
Delphi-Quellcode:
Dann kannst du ja schreiben:
procedure TForm1.OnClick(Sender: TObject);
begin GameName := TMenuItem(Sender).Caption; StartGame; end;
Delphi-Quellcode:
mfG
NewItem.OnClick := OnClick;
mirage228 |
Re: Mehrere Anweisung in einem OnClick-Ereignis
Hi,
es ist möglich, du musst aber eine eigene Prozedur dafür schreiben:
Delphi-Quellcode:
Die Zuweisung sieht dann so aus:
procedure TForm1.PopUpItemClick(Sender: TObject);
begin gamename := (Sender as TMenuItem).Caption; StartGame; end;
Delphi-Quellcode:
NewItem.OnClick := PopUpItemClick;
|
Re: Mehrere Anweisung in einem OnClick-Ereignis
k, big THX...
glaich mal ausprobieren... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 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