Форум: "KOL";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизГоризонтальный скролл в ListBox Найти похожие ветки
← →
Igit © (2003-01-19 13:14) [0]Вот нет в MCK этого сабжа? Ставлю Мультискролл, а он не появляется, приходиться через скроллбокс, но так не удобно... как реализовать???
← →
blackalex © (2003-01-20 11:42) [1]Реализовать можно через сообщение LB_SETHORIZONTALEXTENT. Пример здесь
http://community.borland.com/article/0,1410,15531,00.html
Также ListBox должен быть создан with WS_HSCROLL style
← →
blackalex © (2003-01-20 11:50) [2]Тут еще есть классный примерчик
http://www.scalabium.com/faq/dct0010.htm
← →
Gandalf (2003-01-31 21:15) [3]Еще есть пример на "Королевсте Дельфи".
← →
3APA3A © (2003-09-19 01:46) [4]Да, но как-то странно это работает...Не той длины какой надо... Самые длинные строки обрезает...
Код такой:
for i:=0 to Self.ListBox1.Count-1 do
if ListBox1.Canvas.TextWidth(Self.ListBox1.Items[i]+"x")>j then j:=ListBox1.Canvas.TextWidth(Self.ListBox1.Items[i]+"x");
SendMessage(ListBox1.Handle,LB_SETHORIZONTALEXTENT,j,0);
← →
Gandalf © (2003-09-19 22:09) [5]Да нет все ок - только не забывай добавлять учет ширины вертильного бара.
← →
Igit © (2003-09-21 16:30) [6]блин... не получается... вот как я делаю
Procedure ListBox1Add(s:string);
var i, j: Integer;
begin
form1.ListBox1.Add(s);
for i:=0 to form1.ListBox1.Count-1 do
if Form1.ListBox1.Canvas.TextWidth(Form1.ListBox1.Items[i]+"x")>j
then j:=Form1.ListBox1.Canvas.TextWidth(Form1.ListBox1.Items[i]+"x");
SendMessage(Form1.ListBox1.Handle,LB_SETHORIZONTALEXTENT,j,0);
end;
а как создать, или установить в MCK стиль WS_HSCROLL?
← →
Gandalf © (2003-09-21 21:42) [7]Я так:
ListBox1.Style:=ListBox1.Style or WS_HSCROLL;
for i:=0 to Self.ListBox1.Count-1 do
if ListBox1.Canvas.TextWidth(Self.ListBox1.Items[i])>j then
j:=ListBox1.Canvas.TextWidth(Self.ListBox1.Items[i]);
SendMessage(ListBox1.Handle,LB_SETHORIZONTALEXTENT,j,0);
← →
Igit © (2003-09-22 07:33) [8]Понятно!
Но... он не двигается...
← →
Gandalf © (2003-09-23 08:50) [9]Т.е.?
← →
Igit © (2003-09-23 10:25) [10]т.е. он появился внизу listbox"а, с виду длинный такой, а у меня в нем длинная строчка, чтоб посмотреть её конец я мышкой пытаюсь передвинуть скролл а он на месте дрыгается, и все...
← →
Igit © (2003-09-23 10:43) [11]Все, понял, забыл j обнулять, но он все равно дрыгается, т.е. мышкой зацепил, перевел куда нужно, а он показывает что в самом начале, хотя в самом конце...
← →
Gandalf © (2003-09-23 20:54) [12]Ты на какое событие повесил код, может у тебя пересчет постоянно идет...
← →
Igit © (2003-09-23 23:47) [13]На добавление строки, процедуру написал, добавляет строку и пересчитывает после этого
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c