![]() |
Listbox mit Scrollbar - Länge von Scrollbar einstellen
Hi,
mit folgendem Code
Delphi-Quellcode:
bekomme ich eine Scrollbar in eine Listbox. Wie kann ich es aber anstellen, dass die Scrollbar an den Inhalt angepasst wird? Also, dass wenn der Text länger wird, die Scrollbar dann auch bis dahin scrollen kann - es wäre ja blöd einfach eine breite von 50000 einzutragen...
SendMessage(Listbox1.Handle, LB_SETHORIZONTALEXTENT, 140, 0);
Ben P.S.: Delphi 5 Standard |
Re: Listbox mit Scrollbar - Länge von Scrollbar einstellen
es wird nix anderes übrig bleiben als alle eintrage durch zu gehen und mit Canvas.TextWidth die Breite des Textes zu ermitteln. Der breiteste Eintrag ist dann die Grundlage für die Breite der Scrollbar
Delphi-Quellcode:
var
lCount, lWidth : Integer; begin lWidth := 0; ListBox1.Canvas.Font.Assign(ListBox1.Font); for lCount := 0 to ListBox1.Items.Count - 1 do lWidth := Max(lWidth, Listbox1.Canvas.TextWidth(ListBox1.Items.Strings[lCount])); SendMessage(Listbox1.Handle, LB_SETHORIZONTALEXTENT, lWidth + 20, 0); |
Re: Listbox mit Scrollbar - Länge von Scrollbar einstellen
Danke (Hatte keine Ahnung, wie man die Breite von Text bestimmt, aber jetzt bin ich mal wieder ein klein wenig schlauer. :-D )
Ben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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