Главная страница
    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.031 c
1-1081617949
Ew
2004-04-10 21:25
2004.04.25
Ищу исходник, может быть у кого есть :)


7-1078090769
Duk
2004-03-01 00:39
2004.04.25
Процессор и кулер


3-1080631999
AOH
2004-03-30 11:33
2004.04.25
Транзакция в VBA MS ACCESS


6-1077634195
Denis555
2004-02-24 17:49
2004.04.25
трабла с TNMHTTP


3-1080569640
Алексей П.
2004-03-29 18:14
2004.04.25
Друзья! Помогите с параметрами TSQLConnection





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский