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 und Scrollbar (https://www.delphipraxis.net/91775-listbox-und-scrollbar.html)

neffets 9. Mai 2007 19:39


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?

Matze 9. Mai 2007 19:44

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:
Application.ProcessMessages;
in der Schleife Abhilfe schaffen.

Soll die Listbox im Hintergrund gefüllt und alle Items auf einmal angezeigt werden, was deutlich schneller ist, schaue dir mal

Delphi-Quellcode:
ListBox.Items.BeginUpdate;
ListBox.Items.Add(...);
ListBox.Items.EndUpdate;
an. Evtl. geht das dann so schnell, dass du gar nicht während des Befüllens scrollen musst.

DP-Maintenance 9. Mai 2007 19:44

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

neffets 9. Mai 2007 20:01

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

neffets 10. Mai 2007 18:22

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

marabu 10. Mai 2007 19:11

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:
procedure TDemoForm.TimerTimer(Sender: TObject);
begin
  with ListBox do
  begin
    Items.Add(RandomStr(7));
    ItemIndex := Pred(Count);
  end;
end;
Freundliche Grüße vom marabu

neffets 10. Mai 2007 19:36

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

marabu 10. Mai 2007 19:40

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

neffets 10. Mai 2007 20:21

Re: Listbox und Scrollbar
 
könntest Du mir das timer.interval näher erläutern.
Kann man das beeinflussen

Grüße

marabu 10. Mai 2007 20:36

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

wfs12 10. Mai 2007 22:40

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:
Listbox1.Enabled:=true
Und Das wurde bis jetzt noch nicht gennant. Würde mich zwar wundern wenn es das wäre aber vllt. Viel Erfolg

neffets 12. Mai 2007 13:05

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

neffets 13. Mai 2007 07:46

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.

neffets 13. Mai 2007 11:03

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 20:43 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