Gahero hat folgendes geschrieben: |
Keiner ne Idee???  |
Hallo,
was du mit der ComboBox machen willst, kann die zugrundeliegende ComboBox aus dem Windows-API schon immer: man kann zu jedem Eintrag eine 32-Bit-Zahl zusätzlich abspeichern - die kann man als Pointer verwenden oder als Zahl und danach sortieren, das ist der Box egal. Näheres findet man in der Windows-SDK-Hilfe unter CB_SETITEM bzw. CB_GETITEM. Deine zusätzlichen Felder sind also garnicht nötig.
Leider unterstützt die Delphi-Version diese Funktion nicht. Man kann aber wie immer sich das selbst dazuprogrammieren, ev. als neue Komponente, ist allerdings nicht ganz einfach.
Ein anderer Trick, der noch universeller ist: man hängt Zusatzdaten an die Strings an und fügt vorher soviele Tabs ein (oder setzt den Tababstand entsprechend), dass die Daten in der Box nicht sichtbar sind (Scrollbar abschalten).
Ein Eintrag könnte dann auch mehrere Zusatzdaten enthalten nach dem Schema:
SichtbarerEintrag TAB SortierDatum1 TAB SortierDatum2 usw.
Das Sortieren erfolgt einfach in Methoden:
ComboBox1.SortiereNachEintrag
ComboBox1.SortiereNachDatum1
...
ComboBox1.Sortiere (NachWas : integer)
Gruss Reinhard