Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Letzten Eintrag in ListBox markieren


whitef - Di 14.10.08 21:41
Titel: Letzten Eintrag in ListBox markieren
hi,
habe in meinem projekt eine ListBox die ich mittels OpenFolder mit Pfaden fülle.
Nun möchte ich das der letzte hinzugefügte Pfad markiert ist.
Kann mir jemand sagen wie ich das mache?

so markiert er mir ja alles


Delphi-Quelltext
1:
2:
for i:=Listbox.Items.Count-1 downto 0 do
Listbox.Selected[i] := true;

aber wie bleibt er bei dem letzten eintrag der vorhanden ist stehen?

mfg


Narses - Di 14.10.08 21:43

Moin!

Probier das mal so: ;)

Delphi-Quelltext
1:
2:
ListBox1.ClearSelection;
ListBox1.Selected[ListBox1.Count-1] := TRUE;

cu
Narses


Yogu - Di 14.10.08 21:46


Delphi-Quelltext
1:
ListBox1.ItemIndex := ListBox1.Items.Count-1;                    

Noch kürzer. ;)


whitef - Di 14.10.08 21:54

funktioniert einwandfrei... Vielen Dank!


Lannes - Mi 15.10.08 00:07

Hallo,

und so kannst Du beim Füllen, wenn es über eine Schleife läuft, immer direkt den letzten Eintrag markieren.

Delphi-Quelltext
1:
ListBox1.ItemIndex := ListBox1.Items.Add('Hallo');                    


elundril - Mi 15.10.08 15:18

naja, auch nicht so optimal weil dann bei jedem schleifendurchgang erneut das letzte markiert wird. ich würde es wenn dann nach die schleife setzen und so machen wie Yogu.


Delete - Mi 15.10.08 15:46

Oder so:

Delphi-Quelltext
1:
Listbox.Perform(WM_VSCROLL, SB_BOTTOM, 0);                    


elundril - Mi 15.10.08 15:51

scrollt das die listbox nicht einfach nur ganz runter? weil eigentlich war je das markieren des letzten elements gefragt.


Delete - Mi 15.10.08 16:08

Stimmt, nicht richtig gelesen.