![]() |
String aus zur Laufzeit erstelltem PopUpMenü zurückgeben?
Hallo,
ist es möglich einen String aus einem zur Laufzeit erstelltem PopUpMenü zurückzugeben? Die PopUpMenü-Items erstelle ich ganz einfach aus einer Stringliste. Jetzt soll einfach die ausgewählte Item-Caption zurückgegeben werden. Wie mache ich das? Viele Grüße, |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Hallo Stefan,
wenn du den menu items einen Handler für das Event OnClick() zugeordnet hast, dann kannst du einfach auf die Caption zugreifen:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.MenuItemClick(Sender: TObject);
begin with Sender as TMenuItem do ShowMessage(Caption); end; |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Hallo,
nein ich habe keinen Handler zugeordnet. Hier mein Text:
Delphi-Quellcode:
procedure TForm1.PopupMenu1Popup(Sender: TObject);
var a : TMenuItem; sl : TStringList; i : integer; begin sl :=TStringList.Create; sl.LoadFromFile(ExtractFilePath(ParamStr(0))+'daten\gruppen.txt'); sl.Add('Alle Gruppen'); for i := 0 to SL.Count - 1 do begin a := TMenuItem.Create(Self); a.Caption := SL[i]; a.Hint := SL[i]; PopUpMenu1.Items.Add(a); end; sl.free; end; |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Zitat:
Deinen Quelltext folgender maßen anpassen:
Delphi-Quellcode:
und dann die methode von marabu
procedure TForm1.PopupMenu1Popup(Sender: TObject);
var a : TMenuItem; sl : TStringList; i : integer; begin sl :=TStringList.Create; sl.LoadFromFile(ExtractFilePath(ParamStr(0))+'daten\gruppen.txt'); sl.Add('Alle Gruppen'); for i := 0 to SL.Count - 1 do begin a := TMenuItem.Create(Self); a.Caption := SL[i]; a.Hint := SL[i]; // Hier neu a.OnClick := MenuItemClick; // ende neu PopUpMenu1.Items.Add(a); end; sl.free; end; Zitat:
|
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Hallo,
alles klar. Klappt so. Besten Dank! :thumb: |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Hallo,
klappt doch noch nicht so ganz. Der erste Buchstabe, der zurückkommt ist ein &. Dieser dürfte eigentlich gar nicht existieren :gruebel: |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Das '&' wird automatisch hinzu gefügt, damit man den Eintrag über die Taste (Buchstabe danach) anwählen kann. ;)
MfG freak |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Ok, dann muss ich den einfach abschneiden.
Danke! |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Zitat:
MfG freak |
Re: String aus zur Laufzeit erstelltem PopUpMenü zurückgeben
Hallo,
mit StringReplace klappt das einwandfrei. Viele Grüße... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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