![]() |
MainMenu einträge automatisch erstellen lassn
Hy,
ich kriegs nicht so ganz hin das er MainMenu einträge automatisch während der laufzeit erstellt. Dabei sollen Datensätze aus einer Typisiertendatei die Caption der neuen einträge sein. Einträge sollen soviele wie Datensätze vorhanden sind erstellt werden. Bisher siehts so aus:
Delphi-Quellcode:
die erstellten Einträge sollen untereinträge von dem Items[0] sein.
filename := ExtractFilePath(Application.ExeName)+genresfilename;
assignfile(genrefile,filename); if fileexists(filename) then reset(genrefile) else rewrite(genrefile); for i := 1 to filesize(genrefile) do begin read(genrefile,genres[i]); Mainmenu1.Items.Items[3].Items[0].Add(Item.Tmenuitem); end; closefile(genrefile); Wenn mir jemand weiter helfen könnte wäre das sehr schön. Greetz Master_BB |
Re: MainMenu einträge automatisch erstellen lassn
ich hab das für dich gefunden:
Delphi-Quellcode:
Greetz Cyrus
type
TForm1 = class(TForm) Button1: TButton; label1: TLabel; MainMenu1: TMainMenu; Fonts1: TMenuItem; procedure Fonts1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Fonts1Click(Sender: TObject); begin if Sender Fonts1 then label1.Caption := (Sender as TMenuItem).Caption; end; procedure TForm1.FormCreate(Sender: TObject); var NewItem: TMenuItem; i: Integer; begin for i := 0 to Screen.Fonts.Count - 1 do begin // Create a new Menu Item // Neuen Menüpunkt erzeugen NewItem := TMenuItem.Create(Self); // Take the Font name as Caption // Den Schriftnamen als Caption festlegen NewItem.Caption := Screen.Fonts.Strings[i]; // Assign a OnClick-Event // Ein OnClick-Ereignis zuweisen NewItem.OnClick := Fonts1Click; // Add the new menu // Den neuen Menüpunkt hinzufügen Fonts1.Add(NewItem); end; end; |
Re: MainMenu einträge automatisch erstellen lassn
geil nen bissle umgeändert hauts hin THX
jedoch gibts jetzt nen neues Problem mit den Proceduren der OnClickereignisse.
Delphi-Quellcode:
Und zwar kann ich beim OnClick Event der automatisch erstellten Items, kein bezug zu einer Filterfunktion herstellen. Wenn ich sie dort aufrufen lasse mit Parameterübergabe funktioniert es nicht. Also hatte ich die "genre21Click" procedure erstellt die leider kein parameter hat (mit würde sie auch nicht gehen). So nun weiß ich nicht wie ich es anstelle das je nach dem welches automatisch erstelltes item geklickt wird ein anderer Parameter an meine Filterfunktion geht.
for i := 1 to filesize(genrefile) do begin
read(genrefile,genres[i]); NewItem := TMenuItem.Create(self); NewItem.Caption := genres[i].name; NewItem.OnClick := genre21Click; Mainmenu1.Items.Items[3].Items[1].Add(NewItem); end; Einen ItemIndex hat MainMenu anscheinend nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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