![]() |
Listbox und Scrollbar
ich trage mit
listbox.items.add(text) laufend einen Text in eine Listbox. Der Text wird auch angezeigt, am Rand erscheint der Scrollbar, der sich aber nicht bewegen läßt, sodaß man sich den Text den folgenden Seiten nicht ansehen kann. In den Eigenschaften zur Listbox finde ich auch keinen Hinweis, Scrollbar zu aktivieren oder deaktivieren. Kann kir jemand einen Tipp geben? |
Re: Listbox und Scrollbar
Hi, herzlich willkommen!
Falls dies während des Befüllens in einer Schleife auftritt, könnte ein Aufruf von
Delphi-Quellcode:
in der Schleife Abhilfe schaffen.
Application.ProcessMessages;
Soll die Listbox im Hintergrund gefüllt und alle Items auf einmal angezeigt werden, was deutlich schneller ist, schaue dir mal
Delphi-Quellcode:
an. Evtl. geht das dann so schnell, dass du gar nicht während des Befüllens scrollen musst.
ListBox.Items.BeginUpdate;
ListBox.Items.Add(...); ListBox.Items.EndUpdate; |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
|
Re: Listbox und Scrollbar
Hallo,
Danke für die Antwort; funktioniert aber nicht. In der Liste soll nach Ende des Füllens gescrollt werden, bevor der Inhalt zum Druck freigegeben wird. Ich bin deshalb so hilflos, weil ich genau dieselbe Anweisunge (listbax.items.add (..) in einem anderen Programm schon mal verwendet habe und da funktioniert es einwandfrei. Gruß Neffets |
Re: Listbox und Scrollbar
Hallo,
mir ist noch was eingefallen. Oder muß der letzte Eintrag in der Listbox etwas besonderes sein, damit diese geschlossen wird und ein scrollen möglich wird? Neffets |
Re: Listbox und Scrollbar
Hallo Steffen,
da gibt es eigentlich keine Besonderheiten - es steht und fällt mit deinem Ansatz zum Befüllen der ListBox. So zum Beispiel werden neue Einträge unten angefügt und automatisch sichtbar gemacht:
Delphi-Quellcode:
Freundliche Grüße vom marabu
procedure TDemoForm.TimerTimer(Sender: TObject);
begin with ListBox do begin Items.Add(RandomStr(7)); ItemIndex := Pred(Count); end; end; |
Re: Listbox und Scrollbar
besten Dank,
mit Deiner Anweisung ist man nach dem letzten Eintrag am Ende der Liste, aber zum Anfank kommt man nicht zurück; der Scrollbar läßt sich nicht bewegen. Grüße Neffets |
Re: Listbox und Scrollbar
Solange keiner außer dir weiß, wie die ListBox befüllt wird, müssen alle Hilfestellungen etwas nebulös bleiben. Bei meinem Beispiel kannst du selbstverständlich an den Anfang der ListBox zurück scrollen - wenn das Timer.Interval dir genügend Zeit dazu lässt.
Freundliche Grüße |
Re: Listbox und Scrollbar
könntest Du mir das timer.interval näher erläutern.
Kann man das beeinflussen Grüße |
Re: Listbox und Scrollbar
Interval ist eine Eigenschaft der Komponente Timer auf der Palettenseite System. Der Wert ist 1000 Millisekunden, aber du kannst ihn im Object Inspector relativ frei einstellen. Ich habe die Timer-Komponente nur verwendet um ein fortlaufendes Befüllen der ListBox zu zeigen.
Freundliche Grüße |
Re: Listbox und Scrollbar
hmm Für mich hört sich das alles so an, als ob die Listbox gar nicht Enabled ist.
Delphi-Quellcode:
Und Das wurde bis jetzt noch nicht gennant. Würde mich zwar wundern wenn es das wäre aber vllt. Viel Erfolg
Listbox1.Enabled:=true
|
Re: Listbox und Scrollbar
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe bewußt listbox.enabled:=True eingefügt.
Kein Erfolg. ich habe mal die Procedure angehängt, bewußt ungekürzt. Ich hoffe, irgend jemand findet die Ursache. Beste Grüße |
Re: Listbox und Scrollbar
ich habe die Procedure in die einfachste Form umgeschrieben
procedure Ausgabe; var i:Integer; begin for I:=1 to 200 do begin text:='Test'; form2.listbox1.items.add(Text); end; end; Auch hier wird die Listbox gefüllt aber es ist nicht möglich den scrollbar zu bewegen. Auch wenn in dem Programm weitergearbeitet wird bleibt die Listbox weiterhin sichtbar. |
Re: Listbox und Scrollbar
das Problem ist eingekreist.
Die Listbox befindet sich innerhalb eines pagecontrol_feldes. Obwohl das entsperechede Feld auf activepage gesetzt ist und listbox.visible=true läßt sich nicht scrollen. Verschiebe ich die listbox außerhalb des pagecontrolfeldes ist alles ok. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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