Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.032 c
1-1081240352
Аноним
2004-04-06 12:32
2004.04.25
Загрузка Bitmap из *.res


3-1080558744
JibSkeart_
2004-03-29 15:12
2004.04.25
А что за фишка с ExecuteOtions -> eoAsyncExecute = true ?


14-1080585174
Piter
2004-03-29 22:32
2004.04.25
А что с fido7.ru.delphi?


7-1077723114
Rentgen
2004-02-25 18:31
2004.04.25
Вскрытие.


1-1081702840
Максим
2004-04-11 21:00
2004.04.25
Снова про прозрачную кнопку.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский