Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Scrollwidth ändert sich nicht automatisch?
JayEff - Di 07.03.06 18:22
Titel: Scrollwidth ändert sich nicht automatisch?
Hi Leute.
Die Eigenschaft ScrollWidth ist nach der DOH die Eigenschaft, die mit ClientWidth die horizontale Scrollleiste bestimmt in Länge und Existenz:
Delphi Online-Hilfe: |
Die Eigenschaft ScrollWidth gibt die horizontale Bildlaufbreite des Listenfeldes in Pixel an.
Delphi-Syntax: 1:
| property ScrollWidth: Integer; |
C++ Syntax: 1:
| __property int ScrollWidth = {read=GetScrollWidth, write=SetScrollWidth, default=0}; |
Beschreibung
Mit ScrollWidth können Sie die logische Breite des Listenfeldes abrufen oder einstellen. Ist ScrollWidth größer als die Breite des Client-Bereichs des Listenfeldes, erhält das Listenfeld eine horizontale Bildlaufleiste. Ist ScrollWidth dagegen kleiner oder gleich ClientWidth, wird die Bildlaufleiste nicht angezeigt. |
Nun füge ich der die LB einen recht langen String hinzu (ein Dateipfad). Das sollte doch die ScrollWidth verändern? Tut es nicht. Sie bleibt 0. Dementsprechend wird keine Scrollbar angezeigt (im Gegensatz dazu habe ich im Objektmanager die Eigenschaft auf 5000 gesetzt => Scrollbar.)
Mache ich was falsch? Muss ich mir einen Algo schreiben, der die Eigenschaft automatisch der Textlänge anpasst? Wenn ja, wie?
GTA-Place - Di 07.03.06 19:45
Sollte es keine andere Möglichkeit geben, könntest du es so machen:
Delphi-Quelltext
1: 2: 3:
| Canvas.Font.Name := 'Arial'; Canvas.Font.Size := 10; ListBox1.ScrollWidth := Canvas.TextWidth(ListBox1.Items[0]) + 10; |
JayEff - Di 07.03.06 19:47
Danke! Ich hatte im Hinterkopf, dass es so geht... :/ Das reicht mir, Frage beantwortet, JayEff glücklich!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!