![]() |
Re: Reihenfolge Menüeinträge für TMainMenu
Es liegt tatsächlich ziemlich eindeutig an der Reihenfolge, in der die Controls auf die Form gelegt werden. Habe die DFM editiert und schon ist die Reihenfolge anders. TMainMenu ist sowieso schon komisch, aber so kann man es echt den Hasen geben. Allerdings nicht den Seehasen. :mrgreen:
Sieht so aus, als müsste ich das komplett anders machen. Und das bei zig Forms. :shock: |
Re: Reihenfolge Menüeinträge für TMainMenu
Dann liegt's also nicht an TMainMenu, sondern es liegt ein Layer-8-Problem vor ;-)
(den wollte ich schon lange mal unterbringen :mrgreen:) |
Re: Reihenfolge Menüeinträge für TMainMenu
Zitat:
|
Re: Reihenfolge Menüeinträge für TMainMenu
Zitat:
Wenn man anderweitig Einfluss auf die Reihenfolge nehmen möchte, ohne die *.dfm zu editieren, muss man wohl selbst Hand anlegen, z.B. indem man die Komponenten erst einmal in einer Liste ablegt, diese dann sortiert und anschließend abarbeitet. [edit] Fipptehler [/edit] |
Re: Reihenfolge Menüeinträge für TMainMenu
Eher Layer-10, also dem Chef vom Chefentwickler von Delphi. 8) Es müsste schon möglich sein, die Reihenfolge von irgendwas auf der Form zu sortieren und darauf zuzugreifen. Nun gut, egal. Dann gilts eben das selber hinzubiegen. Oder alle DFMs zu editieren. :gruebel:
@Deddy : Vorschlag wie am einfachsten ? |
Re: Reihenfolge Menüeinträge für TMainMenu
Wenn Du nach dem Namen sortieren willst, vielleicht so (nur heruntergetippt, nicht getestet):
Delphi-Quellcode:
procedure TfrmMenue.FormCreate(Sender: TObject);
var i : Integer; c : TComponent; NewItem: TMenuItem; CompNames: TStringlist; begin inherited; men := TMainMenu.Create(self); CompNames := TStringList.Create; CompNames.Sorted := true; try for i := 0 to ComponentCount - 1 do begin c := Components [i]; if c is TmyPanel then CompNames.AddObject(c.Name, c); end; for i := 0 to CompNames.Count - 1 do NeuerMenueEintrag (men,CompNames.Objects[i] as TmyPanel); finally CompNames.Free; end; end; |
Re: Reihenfolge Menüeinträge für TMainMenu
Falls es jemand interessiert :
Delphi-Quellcode:
Dank Objektablage haben das jetzt alle Forms und fertig. :zwinker: @Deddy : Objects sind da etwas zu viel des Guten. Zumindest bei mir ist die Caption zur Sortierung geeignet.
procedure TfrmMenu.FormCreate(Sender: TObject);
var i : Integer; c : TComponent; begin inherited; sl := TStringList.Create; for i := 0 to ComponentCount - 1 do begin c := Components [i]; if c is TMyPanel then sl.Add((c as TPanel).Caption); end; sl.Sort; end; |
Re: Reihenfolge Menüeinträge für TMainMenu
Ich habe die Objekte ja nur eingefügt, um den Aufruf von NeuerMenueEintrag drinlassen zu können ;)
|
Re: Reihenfolge Menüeinträge für TMainMenu
Moment. Das
Delphi-Quellcode:
wird unterschätzt ! D.h., die Forms sind abgeleitet. Ich habe jetzt lediglich dem Vorfahr die Stringliste beigebracht und das weiß jetzt jede betreffende Form auch. Der Vorfahr liest dann sämtliche in Frage kommende Captions aus und sortiert die. Alles andere ist unverändert. Auch die betreffenden procedures.
inherited;
|
Re: Reihenfolge Menüeinträge für TMainMenu
Und wie hast Du das jetzt gelöst?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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