![]() |
Reihenfolge Menüeinträge für TMainMenu
Hi,
habe hier diverse Forms, bei denen muss eine unterschiedliche Anzahl an TMainMenu-Items erzeugt werden. Deshalb wird das erst zur Laufzeit gemacht :
Delphi-Quellcode:
So, das Menü ist da, aber die Einträge sind wie Kraut und Rüben durcheinander. Wie wird die Reihenfolge bestimmt ? Taborder ists offenbar nicht.
for i := 0 to ComponentCount - 1 do begin
... menu.Items.Add (NewItem); ... |
Re: Reihenfolge Menüeinträge für TMainMenu
|
Re: Reihenfolge Menüeinträge für TMainMenu
Das Add ist also quasi ein Zufallsgenerator ? :mrgreen: :gruebel:
|
Re: Reihenfolge Menüeinträge für TMainMenu
Ach sorry, hab Deine Frage nicht ganz richtig gelesen.
Dann würde ich eher die Components[] Eigenschaft Deines Controls verantwortlich zeichnen, diese wird ja beim Entfernen und Hinzufügen von neuen Komponenten immer wieder geändert... da könntest Du dann ja mal mit den Nachforschungen ansetzen... |
Re: Reihenfolge Menüeinträge für TMainMenu
Zitat:
|
Re: Reihenfolge Menüeinträge für TMainMenu
Zitat:
|
Re: Reihenfolge Menüeinträge für TMainMenu
Moin Hansa,
Du solltest mal ein bisschen mehr Code herausrücken. Bei dem Bisschen kann ich den Fehler nicht reproduzieren. |
Re: Reihenfolge Menüeinträge für TMainMenu
Die paar Zeilen sind kein Problem. Bzw. sie zu posten.
Delphi-Quellcode:
Vielleicht sieht ja einer was.
procedure TfrmMenue.FormCreate(Sender: TObject);
var i : Integer; c : TComponent; NewItem: TMenuItem; begin inherited; men := TMainMenu.Create(self); for i := 0 to ComponentCount - 1 do begin c := Components [i]; if c is TmyPanel then NeuerMenueEintrag (men,c as TmyPanel); end; end; procedure TfrmMenue.NeuerMenueEintrag (var men : TMainMenu;c : TmyPanel); var NewItem : TMenuItem; i : Integer; st : string; begin NewItem := TMenuItem.Create(men); NewItem.Caption := c.Caption; NewItem.Name := 'men' + copy (c.Name,4,length(c.Name)); ShowMessage(NewItem.Name+' '+IntToStr (c.TabOrder)); NewItem.OnClick := c.OnClick; menu.Items.Add (NewItem); end; |
Re: Reihenfolge Menüeinträge für TMainMenu
Wo ist der Unterschied zwischen menu (letzte Zeile) und men (Parameter)? Vielleicht liegts ja daran...
|
Re: Reihenfolge Menüeinträge für TMainMenu
Ne, men= menu (Schreibfehler)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 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