Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listbox markieren bzw. selektieren (https://www.delphipraxis.net/108222-listbox-markieren-bzw-selektieren.html)

Oliver1983 9. Feb 2008 08:55


Listbox markieren bzw. selektieren
 
Hi,

einige von euch kennen wohl WinAmp, ich habe eine ListBox da werden Titel angezeigt, über einen Timer wird immer der aktuelle Titel von WinAmp ausgelesen und dieser entsprechend in der ListBox markiert, soweit so gut.

Nun aber zu meinem Problem jedesmal wenn der Titel bei WinAmp ausgelesen wird, wird der Eintrag in der ListBox markiert ist auch richtig so aber die ListBox scroll dann immer zu dem Eintrag hin, wie kann ich es ändern?
habe schon Select ausprobiert aber das klappt irgendwie nicht, warum nicht?

Am liebsten hätte ich es so das der Aktuelle Titel in der Listbox markiert bleibt und ich in der ListBox scrollen kann um einen anderen Titel auszuwählen, halt so wie in WinAmp, wie kann ich das realisieren?

Danke im Vorraus

Olli

eulenspiegel 9. Feb 2008 15:33

Re: Listbox markieren bzw. selektieren
 
Mit
Delphi-Quellcode:
TListBox.TopIndex
lässt sich lt. OH die erste in der Listbox sichtbare Zeile bestimmen und setzen. Also erst den TopIndex abspeichern, dann mit Selected einen neuen Eintrag anwählen und abschließend auf den gemerkten TopIndex zurückspringen. Hab's nicht ausprobiert, möglicherweise zappelt die Listbox dabei sichtbar herum.

Grüße, till

bitsetter 9. Feb 2008 18:22

Re: Listbox markieren bzw. selektieren
 
Hallo,

falls du die Eigenschaft MultiSelect für die Listbox aktiviert hast, dann kannst du folgenden Code ausprobieren.
Delphi-Quellcode:
function SelectLbxItem(Lbx: TListBox; Index: integer; Selected: boolean): boolean;
begin
  Result:= Lbx.Perform(LB_SELITEMRANGE, Ord(Selected), MakeLParam(Index, Index)) <> LB_ERR;
end;

...
  SelectLbxItem(ListBox1, 8, true);//den 9. Eintrag markieren
...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 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