Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi MainMenu - Dynamisch - Itemsabfrage (https://www.delphipraxis.net/83551-mainmenu-dynamisch-itemsabfrage.html)

Blackheart 4. Jan 2007 13:15


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;

SirThornberry 4. Jan 2007 13:38

Re: MainMenu - Dynamisch - Itemsabfrage
 
ich versteh die Frage nicht? Willst du eine Datei auswählen? Oder von welcher Datei willst du den Namen?

Blackheart 4. Jan 2007 13:56

Re: MainMenu - Dynamisch - Itemsabfrage
 
Ich hab ein MainMenu
Das sieht in etwa so aus

Code:
[b]Datei[/b]
Neu         Fest
Öffnen      Fest
Speichern   Fest
Irgendwas1   Dynamisch
Irgendwas2   Dynamisch
Irgendwas3   Dynamisch
Jetzt möchte Ich beim Klick auf Irgendwas den String haben
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

shmia 4. Jan 2007 14:49

Re: MainMenu - Dynamisch - Itemsabfrage
 
Du musst natürlich einen eigenen Eventhandler für deine dynamischen Menuitems erstellen:
Delphi-Quellcode:
procedure TForm1.DynamikMenuItemClick(Sender: TObject);
begin
  Caption:= '*** '+TMenuItem(Sender).Caption+ ' ***';
end;
Wenn du diese Procedure in deine Unit kopierst und dann Shift+Strg+C drückst (=Codevervollständigung)
und dann noch folgendes änderst:
Delphi-Quellcode:
//  NewItem.OnClick:=DateiClick; // Alt
  NewItem.OnClick:=DynamikMenuItemClick;
sollte es tun.

Blackheart 4. Jan 2007 15:05

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 14:13 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