![]() |
Popup menü items sortieren?
Hi,
ich habe ein Programm, das in deutsch und englisch verfügbar ist. in dem programm sind einige popupmenüs von denen ich eben die caption if englisch einfach umbenenne und gut, aber dann stimmt ja die sortierung absolut nichtm ehr (alphabetisch) gibt es eine funktion oder so mit der man popupmenüs einfach schnell sortieren kann alphabetisch? Thanx tom |
Re: Popup menü items sortieren?
Hallo, mir ist keine Funktion bekannt. Musst es wohl von Hand sortieren,
indem du den MenuIndex der Items veränderst. |
Re: Popup menü items sortieren?
oooch neeeee jetzt das is ja üüüübel :-(
|
Re: Popup menü items sortieren?
Außerdem finde ich persönlich es nicht sonderlich benutzerfreundlich, wenn sich Positionen von MenuItems zur Laufzeit ändern.
|
Re: Popup menü items sortieren?
Zitat:
Die Favoriten im IE z.B lassen sich ja auch vom Benutzer sortieren. |
Re: Popup menü items sortieren?
Na gut, bei zur Laufzeit generierten Items kann man das noch einsehen.
[edit] Schlechtschreibung [/edit] |
Re: Popup menü items sortieren?
Also ich fände es äusserst uncool, wenn sich in einem Popup-Menu der Eintrag für "kopieren" von Stelle 5 plötzlich an Stelle 2 findet, nur weil er jetzt "copy" heisst.
Der Anwender gewöhnt sich daran, dass er auf den Eintrag an 5.Stelle klicken muss. Ebenso ist es beim Support. "Klicken sie auf den Eintrag an Stelle 5" würde dann nicht mehr passen. |
Re: Popup menü items sortieren?
Zitat:
Zudem kommt es doch drauf an, um was für Items es sich handelt. Wenn es sich z.B um eine Liste von Früchten, Bundesländer etc. handelt, wäre es doch von Vorteil, wenn die Items sortiert sind? |
Re: Popup menü items sortieren?
also einmal so support zu machen is ja nich grad das wahre man sollte da wohl schon angeben was man klicken soll nich das wievielte item... naja und da in deutsch alles ok is aber in englisch alles total durch einander find ichs überhaupt nicht falsch das ich das sortieren will....naja aber wie auch immer
|
Re: Popup menü items sortieren?
Aber ist es Aufgabe eines Mumus deratige Listen abzubilden? Das erscheint mir schon recht grenzwertig...
|
Re: Popup menü items sortieren?
häh? mumus? was abarbeiten? ich will nur die menüs sortiert haben was is daran jetzt so schlimm? und die menüs ändern sich doch nich dauernd oder sowas...nur in englisch sorted in deutsch isses schon sorted fertig aber sowas gibts ja eh nich also is das ja relativ
|
Re: Popup menü items sortieren?
TMenu.Items ist ein indiziertes Array.
Da kann man sicher irgendwie ein "Sort" dafür aufrufen. Quäl Dich mal durch die Hilfe für TMenu. |
Re: Popup menü items sortieren?
ok das hört sich gut an ich dachte auch schon an sowas wie einfach items.sorted aber das gibts leider nicht...
|
Re: Popup menü items sortieren?
mir fällt ein gutes beispiel ein windows xp startmenü rechtsklick nach namen sortieren genau sowas brauch ich...
|
Re: Popup menü items sortieren?
Zitat:
Da kannst Du ja einen der einfachen Sortieralgos (z.B. BubbleSort) nehmen. Du wirst ja nicht mehrere Tausend MenuItems haben, sodass das optimiert sein müsste. /nicht ernst gemeint Oder aufwändig: Punp die Menueinträge in eine TList. Da gibt es ein TList.Sort |
Re: Popup menü items sortieren?
hmmm sehr schade na dann werd ich das wohl so machen müssen ich danke euch!!!
|
Re: Popup menü items sortieren?
Hier mal ein Vorschlag:
Delphi-Quellcode:
procedure SortPopupMenu(PopupMenu: TPopupMenu);
var n1, n2: Integer; mi: TMenuItem; begin with PopupMenu, Items do begin for n1 := 0 to Count - 1 do begin for n2 := n1 + 1 to Count - 1 do begin if Items[n1].Caption > Items[n2].Caption then begin mi := Items[n2]; Delete(n2); Insert(n1, mi); end; end; end; end; end; |
Re: Popup menü items sortieren?
ich würde aber das
if Items[n1].Caption > Items[n2].Caption then erweitern, sodass nur nach dem Anfangsbuchstaben gesucht wird if Items[n1].Caption[1] > Items[n2].Caption[1] then |
Re: Popup menü items sortieren?
Zitat:
|
Re: Popup menü items sortieren?
Zitat:
Wenn es z.B. mehr als einmal "C..." geben sollte, muss man halt mit StrComp (oder so) arbeiten und mehr als nur eine Stelle beachten. |
Re: Popup menü items sortieren?
Zitat:
Das wäre dann ja sowas, wie Du brauchst. Soweit ich weiss, sind die Quellen des Mozilla doch frei. Aber vermutlich wird der nicht mit Delphi geschrieben sein :-( |
Re: Popup menü items sortieren?
Hi,
cool also dann werd ich das mal testen dieses wochenende was ihr hier gepostet habt und evtl auch mal schaun ob man das vom firefox übersetzen kann *g* aber erst wird heute geglotzt und gezockt *g* hab nen lg 32er endlich *freu* wünsch euch allen ein schönes wochenende!!! gruß tom |
Re: Popup menü items sortieren?
Wie muss ich den Code von toms eigentlich erweitern damit auch Untermenüs alphabetisch sortiert werden? Ich habe den Code schon etwas erweitert, nur leider wird immer das letzte Untermenü nicht mehr sortiert. Wo ist mein Denkfehler?
Delphi-Quellcode:
procedure SortPopupMenu(PopupMenu: TPopupMenu);
var n1, n2 : Integer; m1, m2 : Integer; mi1, mi2 : TMenuItem; begin with PopupMenu, Items do begin for n1 := 0 to Count - 1 do begin for n2 := n1 + 1 to Count - 1 do begin if Items[n1].Caption > Items[n2].Caption then begin mi1 := Items[n2]; Delete(n2); Insert(n1, mi1); for m1 := 0 to Items[n1].Count - 1 do begin for m2 := m1 + 1 to items[n1].Count - 1 do begin if items[n1].items[m1].Caption > items[n1].items[m2].Caption then begin mi2 := Items[n1].Items[m2]; Items[n1].Delete(m2); Items[n1].Insert(m1, mi2); end; end; end; end; end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 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