AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Reihenfolge Menüeinträge für TMainMenu

Ein Thema von Hansa · begonnen am 21. Feb 2010 · letzter Beitrag vom 23. Feb 2010
Antwort Antwort
Seite 3 von 3     123   
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#21

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 22. Feb 2010, 17:43
Wich ich das jetzt gemacht habe ? So :

Delphi-Quellcode:
procedure TfrmMenue.FormCreate(Sender: TObject);
var i : Integer;
    c : TComponent;
    NewItem: TMenuItem;
begin
  inherited;
  sl := TStringList.Create;
  men := TMainMenu.Create(self);
  for i := 0 to ComponentCount - 1 do begin
    c := Components [i];
    if c is TMyPanel then
      sl.Add(lb ((c as TMyPanel).Caption,50)+(c as TMyPanel).Name);
  end;
  sl.Sort;
  for i := 0 to sl.Count - 1 do begin
    c := FindComponent (Copy (sl[i],51,Length (sl[i])));
    NeuerMenueEintrag (men,c as TMyPanel);
  end;
  sl.Free;
end;
Der Trick ist eigentlich nur, dass das Menü nach den Captions sortiert werden soll und auch der Name gebraucht wird. Und die hänge ich einfach hintereinander. Die Prozedur NeuerMenuEintrag und alles andere bleibt unverändert.

P.S.: hatte auch mit TObjectList spekuliert. Dazu müsste man dann aber noch die Sortierroutinen selber bauen. So wars eben einfacher.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#22

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 22. Feb 2010, 17:49
Dann finde ich meine Lösung mit den Objects aber eleganter, da Du ja auf FindComponent zurückgreifen musst, wie ich bereits vermutet hatte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#23

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 23. Feb 2010, 16:11
Was heisst schon eleganter ? Dafür ist mein Quelltext auf die Schnelle wohl eher verständlich. Allerdings : er ist zu starr. D.h., sofern eine Caption länger als 50 Zeichen ist, dann krachts. Man könnte den Wert nun hochschrauben, aber so was war moch nie mein Ding. Und siehe an : da ich das, wie gesagt in alle Forms eingebaut habe, mind. eine Caption war tatsächlich länger. Konsequenz : lieber doch die AddObject Variante verwendet.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#24

Re: Reihenfolge Menüeinträge für TMainMenu

  Alt 23. Feb 2010, 16:28
Über die Verständlichkeit kann man sich jetzt streiten . Auf jeden Fall war Deine Variante (übertragen): "Nimm von allen Paar Socken den linken und sortiere diese (die rechten wirfst Du auf einen Haufen). Nach dem Sortieren suchst Du zu jedem linken Socken den rechten aus dem Haufen und steckst das Paar in die Waschmaschine." Dagegen meine: "Nimm alle Sockenpaare und sortiere nach den linken. Anschließend alle Paare in die Waschmaschine".
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 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