![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Горизонтальная прокрутка в ListBox
RIMMER © (2003-06-28 00:27:00)
Старый совет по добавлению сабжа неправильно работает в WinXP - длина скролла устанавливается меньше, чем надо. Что делать?
RIMMER (2003-07-01 00:25:00) [1]
Не хватает по разному (кажется в зависимости от длины макс. строки), но обычно >20 пикселов. Шрифты по вкладке в свойствах дисплея = "Обычный размер (96 dpi)"
Ученик (2003-06-28 10:08:00) [2]
Вроде, работает этот код под Windows XP, а какие шрифты установлены с системе "большие" или "маленькие", может проблема в +7, или много не хватает ?
RIMMER (2003-06-28 00:30:00) [3]
ЗЫ Имеется в виду следующая процедура
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;