![]() |
Fenster Menue erstellen
Hallo zusammen.
Ich habe schon in vielen anwendungen gesehen das es ein Fenster menue gibt in dem men die Auswählen kann.. das würde ich bei mir gerne auch machen. ich habe es wie Folgt versucht : Fenster ist eine Komponente MainMenu !!
Delphi-Quellcode:
bekomme da aber immer eine Fehlermeldung.
proceudure MainForm.MenueEinträge(Sender : Tobject);
var i : Integer; Fenster_item : TMenuItem; begin Fenster_Item.Create(MainForm); for I := 1 to Screen.FormCount do begin Fenster_Item.Caption := Inttostr(i); Fenster.add(Fenster_Item); end; end; wie könnte ich das denn stattessen machen ?? Mfg Sascha |
Re: Fenster Menue erstellen
Moin Sascha,
auch wenn Du die Fehlermeldung nicht genannt hast: Das wird den Fehler verursachen,
Delphi-Quellcode:
da der Index von 0 bis Count-1 geht.
for I := 1 to Screen.FormCount do
|
Re: Fenster Menue erstellen
Moin Chris,
solange Sascha mit dem Index nicht auf die Forms-Eigenschaft des Screen-Objekts zugreift, wird es auch nicht zum Fehler kommen. Das Erzeugen des MenuItems sollte allerdings korrigiert werden:
Delphi-Quellcode:
Gruß Hawkeye
// Fenster_Item.Create(MainForm);
Fenster_Item := TMenuItem.Create(MainForm); |
Re: Fenster Menue erstellen
Moin Hawkeye,
Zitat:
stimmt auch wieder :oops: :wall: |
Re: Fenster Menue erstellen
So die Letzte antwort hat mir nun geholfen.
so sieht der Fertige Code aus :
Delphi-Quellcode:
und es Funktioniert. Nur die Caption will er irgendwie nicht nehmen...
Fenster.Clear;
for I := 0 to Screen.FormCount-1 do begin Fenster_Item := TMenuItem.Create(MainForm); Fenster_Item.Caption := Screen.Forms[i].Name; Fenster.add(Fenster_Item); end; Was anderes. warum wird wenn es 2 Formulare sind ein FormCount von 3 angezeigt ??? aber nur 2 Formulare in das Menü geschrieben ?? |
Re: Fenster Menue erstellen
Moin Sascha,
jedes VCL-Programm hat noch ein, eigentlich unsichtbares, Fenster, nämlich Application. Dessen Caption siehst Du übrigens in der Taskleiste. Application + 2 eigene Formulare = 3 Formulare. |
Re: Fenster Menue erstellen
Danke schön. Nun ergibt das sinn :)
Gruss Sascha |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:30 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