Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Есть ли у TListView вертикальная полоса прокрутки?


Автор: midiar 8.9.2006, 11:34
Добрый день!

У меня есть метод заполнения ListView, в зависимости от количества элементов появляется или исчезает вертикальная полоса прокрутки. Меня нужно знать есть она или нет, что бы корректно рассчитать ширины столбцов. Как узнать, есть ли у TListView вертикальная полоса прокрутки? 

Автор: volvo877 8.9.2006, 11:48
Код
var
  w: dword;
...
  w := GetWindowLong(ListView1.Handle, GWL_STYLE);
  if w and WS_VSCROLL <> 0 then { есть } else { нет }

Автор: midiar 8.9.2006, 12:04
А где правильно исполнять этот код? В событии OnShow он возвращает, что полосы нет, хотя она есть. Потом когда форма уже отобразилась, все работает хорошо.

Автор: Elfebet 8.9.2006, 12:11
можна в OnChange.

Автор: midiar 8.9.2006, 12:27
Elfebet, так не работает.

Автор: volvo877 8.9.2006, 12:38
Тогда поставь на OnAdvancedCustomDraw...

Автор: midiar 8.9.2006, 12:42
volvo877, спасибо, заработало!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)