Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];




Вниз

Горизонтальная прокрутка в ListBox 


RIMMER   (2003-06-28 00:27) [0]

Старый совет по добавлению сабжа неправильно работает в WinXP - длина скролла устанавливается меньше, чем надо. Что делать?



RIMMER   (2003-06-28 00:30) [1]

ЗЫ Имеется в виду следующая процедура
procedure TForm1.ShowHScroll(Sender: TObject; ListBox: TCustomListBox);
var

i, MaxWidth: integer;
begin

MaxWidth := 0;
for i := 0 to ListBox.Items.Count - 1 do
if MaxWidth < ListBox.Canvas.TextWidth(ListBox.Items.Strings[i]) then
MaxWidth := ListBox.Canvas.TextWidth(ListBox.Items.Strings[i]);

SendMessage(ListBox.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+7, 0);

end;



Ученик   (2003-06-28 10:08) [2]

Вроде, работает этот код под Windows XP, а какие шрифты установлены с системе "большие" или "маленькие", может проблема в +7, или много не хватает ?



RIMMER   (2003-07-01 00:25) [3]

Не хватает по разному (кажется в зависимости от длины макс. строки), но обычно >20 пикселов. Шрифты по вкладке в свойствах дисплея = "Обычный размер (96 dpi)"




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2003.09.01;
Скачать: [xml.tar.bz2];




Наверх






Память: 0.74 MB
Время: 0.031 c
14-1564           McSimm                2003-08-10 16:03  2003.09.01  
Об изменениях в форумах


1-1469            Влад Штогрин          2003-08-18 14:22  2003.09.01  
Определение в системе динамического отладчика


1-1380            _Alex_                2003-08-12 16:39  2003.09.01  
Toolbar и Popupmenu, bug?


3-1348            ED                    2003-08-06 11:26  2003.09.01  
Как в запросе SELECT можно было несколько полей одного типа объед


1-1404            PlaZZma               2003-08-16 02:12  2003.09.01  
передача компонента в функцию