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 => Markierter Eintrag (https://www.delphipraxis.net/99714-listbox-%3D-markierter-eintrag.html)

Tommy1988 16. Sep 2007 15:57


ListBox => Markierter Eintrag
 
Hallo

ich habe schon probiert bekomme das aber nicht hin.

Undzwar es geht um folgendes.
Eine ListBox hat bspw. 10 Einträge und eine Scrollbar, da die Einträge nicht alle angezeigt
werden können.

Alle 10 sekunden wird ein neuer Eintrag mit Random markiert.

Aber die Liste (Scrollbar) bleibt immer ganz oben.
Also der markierte Eintrag ist nicht sichtbar, da die Scrollba nicht mit"scrollt"

Kann man da was machen?

DP-Maintenance 16. Sep 2007 16:05

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.

Matze 16. Sep 2007 16:08

Re: ListBox => Markierter Eintrag
 
Du könntest beispielsweise den ItemIndex neu setzen:

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

dominikkv 16. Sep 2007 16:10

Re: ListBox => Markierter Eintrag
 
Zitat:

Zitat von Tommy1988
Alle 10 sekunden wird ein neuer Eintrag mit Random markiert.

Wie markierst du?

Tommy1988 16. Sep 2007 16:34

Re: ListBox => Markierter Eintrag
 
Im Beispiel wird eine Datei via OpenDialog in die ListBox gepackt:

Delphi-Quellcode:
begin
     a := ListBox1.Items.Count -1;
     ListBox1.Items.AddStrings(Opendialog1.Files);
     ListBox1.ItemIndex := a + 1;
     ListBox1.Tag := ListBox1.ItemIndex;
end;

marabu 16. Sep 2007 17:33

Re: ListBox => Markierter Eintrag
 
Hallo,

das zufällige Auswählen eines ListBox-Items alle 10 Sekunden würde ich mit einem Timer (Interval = 10000) erledigen:

Delphi-Quellcode:
procedure TDemoForm.TimerExecute(Sender: TObject);
begin
  with ListBox do
    ItemIndex := Random(Count);
end;
Grüße vom marabu

Blackheart 16. Sep 2007 22:51

Re: ListBox => Markierter Eintrag
 
@Tommy1988 - Zwei Beiträge, aber wo bleibt denn die Frage !?

Tommy1988 17. Sep 2007 13:36

Re: ListBox => Markierter Eintrag
 
Ihr habt mich nicht verstanden, das mit den alle 10 sekunden auswöhlen ist kein Problem:

Es geht mir dadrum, dass die Scrollbar "mitscrollt", auch wenn ein Eintrag markiert ist
der im nicht-sichtbaren Bereich der ListBox liegt (also unten wo man hinscrollen müsste)

marabu 17. Sep 2007 13:40

Re: ListBox => Markierter Eintrag
 
Hi Tommy,

Zitat:

Zitat von Tommy1988
Ihr habt mich nicht verstanden

ich denke doch. Matthias hat dir in Beitrag #3 bereits geschrieben, wie es geht. Ich habe lediglich noch das Random() eingefügt und dir mit dem Timer und dem Interval angedeutet, wo der Code stehen muss, damit er so funktioniert, wie du es uns beschrieben hast.

Freundliche Grüße

Matze 17. Sep 2007 15:28

Re: ListBox => Markierter Eintrag
 
Zitat:

Zitat von marabu
ich denke doch. Matthias hat dir in Beitrag #3 bereits geschrieben, wie es geht.

Jain, das hast du besser hinbekommen. Ich habe gelesen, er fügt zufällig Einträge hinzu und veranlasse mit meinem Code die ListBox zum letzten EIntrag zu scrollen. Im Prinzip ist der Effekt natürlich der gleiche: Beim Setzen des ItemIndex scrollt die ListBox automatisch zu diesem Eintrag.

Und genau das ist doch das, was du haben möchtest, Tommy.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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-2025 by Thomas Breitkreuz