Einzelnen Beitrag anzeigen

FriMop

Registriert seit: 9. Apr 2004
2 Beiträge
 
#1

Listbox-Selection durch "Item-Range" ausdrücken

  Alt 9. Apr 2004, 19:58
Hallo,

ich habe eine virituelle Listbox mit einigen tausend Einträgen. Diese funktioniert auch gut und schnell. Mein Problem ist jedoch, dass ich die ausgewählten Items nicht angemessen schnell ermitteln kann.

Eine for-Schleife, welche die ganze List abcheckt ( if Listbox1.Selected[y] then) ist viel zu langsam.
Der Befehl Listbox1.CopySelection() nützt auch nichts, da ich die Selection durch ItemIndex ausdrücken möchte, was dann wie folgt aussehen könnte:

ausgewählt sind die Items mit dem ItemIndex:

[1,
4,
18-159,
287-1400,
1531,
1751,
5121-6123]

(Ob die Indizes in einem array oder einem String geliefert werden, spielt keine Rolle.)


Dies ist besonders praktisch, wenn man die Auswahl an eine SQL-Abfrage weitergeben möchte.

Nach zahlreichen Versuchen mit Listbox und Listviews scheint es für mich nur die Möglichkeit zu geben, jedes Mousedown, Mouseup, Keydown, Keyup Event zu erfassen. Dies ist allerdings eine äusserst komplizierte Angelegenheit, da man zahlreiche Spezialfälle behandeln muss (ctrl/shift Status beachten, mouseup ausserhalb der komponente, drag-drop Aktion gestartet, select/unselect....)!

Kennt jemand von euch eine (einfache) Lösung für diese Problem?
  Mit Zitat antworten Zitat