![]() |
MainMenu - Dynamisch - Itemsabfrage
Hallo Leute
Ich bräuchte die Items von Selbsterzeugten MainMenu Einträgen, das klappt ganz gut bis auf das er Mir beim Öffnen des MainMenus auch den Namem (Datei) liefert. Wie könnt Ich das umgehen. Ich bräucht nur die Items der neu erzeugten. Hier mal Mein Versuch:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var NewItem: TMenuItem; begin Inc(i); NewItem := TMenuItem.Create(Self); NewItem.Caption := 'Neuer Eintrag'+IntToStr(i); Datei.Add(NewItem); NewItem.OnClick:=DateiClick ; end; procedure TForm1.DateiClick(Sender: TObject); begin Caption:=TMenuItem(Sender).Caption; end; |
Re: MainMenu - Dynamisch - Itemsabfrage
ich versteh die Frage nicht? Willst du eine Datei auswählen? Oder von welcher Datei willst du den Namen?
|
Re: MainMenu - Dynamisch - Itemsabfrage
Ich hab ein MainMenu
Das sieht in etwa so aus
Code:
Jetzt möchte Ich beim Klick auf Irgendwas den String haben
[b]Datei[/b]
Neu Fest Öffnen Fest Speichern Fest Irgendwas1 Dynamisch Irgendwas2 Dynamisch Irgendwas3 Dynamisch Ich hab Datei - NewItem.OnClick zugewiesen das, das überhaupt klappt. jetzt zeigt er Mir bei Klick auf Datei (Datei)an was Ich nicht möchte. Ich möchte das er Mir nur bei Klicks auf Dynamisch erstellter Einträge die Strings anzeigt. Ich hab das jetzt erstmal so gelöst das Ich ein Trenner (Horizontale Linie)eingefügt hab und der das OnKlick zuweise scheint zu klappen. Aber falls noch Wer ne andere Idee hätte, hätt Ich Sie gern gewusst. Danke |
Re: MainMenu - Dynamisch - Itemsabfrage
Du musst natürlich einen eigenen Eventhandler für deine dynamischen Menuitems erstellen:
Delphi-Quellcode:
Wenn du diese Procedure in deine Unit kopierst und dann Shift+Strg+C drückst (=Codevervollständigung)
procedure TForm1.DynamikMenuItemClick(Sender: TObject);
begin Caption:= '*** '+TMenuItem(Sender).Caption+ ' ***'; end; und dann noch folgendes änderst:
Delphi-Quellcode:
sollte es tun.
// NewItem.OnClick:=DateiClick; // Alt
NewItem.OnClick:=DynamikMenuItemClick; |
Re: MainMenu - Dynamisch - Itemsabfrage
Vielen Dank shmia das klappt Super.
Hätt Ich eigentlich drauf kommen müssen. Hier wird man geholfen. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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 by Thomas Breitkreuz