Иногда не знаешь, какой длины будут строки в ListBox, а т.к. у этого компонента нет свойства ScrollBar, то задаешься вопросом «Как же сделать горизонтальную прокрутку?».
Ответ очень прост.
В общем, после каждого добавления строки нужно использовать вот этот код (не слушайте советов, что этот код нужно кидать в событие OnCreate формы (если, конечно, у Вас в ListBox’е не статический текст)):
1 2 3 4 5 6 7 8 9 |
var i, MaxWidth: integer; begin MaxWidth:=0; for i:=0 to ListBox1.Items.Count - 1 do if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]) then MaxWidth:=ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]); SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0); end; |