Текущий архив: 2005.07.11;
Скачать: CL | DM;
ВнизVerticalScrollBar в TListBox всегда Найти похожие ветки
← →
TrueCoder (2005-06-23 02:57) [0]Господа, прошу подсказать способ заставить TListBox отображать вертикальный скроллбар ВСЕГДА, а не только тогда, когда заполнено большое количество элементов. Вот TMemo умеет же это делать сам, отрисовывая просто неактивные скроллы, если скроллить нечего.
Спасибо.
← →
Amoeba © (2005-06-23 10:52) [1]А это действительно так необходимо? Или просто праздное любопытство одолевает?
← →
begin...end © (2005-06-23 11:12) [2]> TrueCoder (23.06.05 2:57)
Создать наследника TCustomListBox, в котором перекрыть CreateParams и добавить к Params.Style значение LBS_DISABLENOSCROLL.
← →
TrueCoder (2005-06-23 19:41) [3]Amoeba
Странный вопрос, конечно.. Цитирую:
"Если все строки списка не помещаются в окне, у списка появится вертикальная полоса просмотра. Если при удалении из списка некоторого количества строк размеры окна списка станут достаточны для отображения всех строк, полоса просмотра исчезнет. В некоторых случаях такое поведение списка нежелательно, так как оно приводит к изменению внешнего вида списка." Что у меня и происходит.
Одним словом, компоненты на форме также нет _необходимости_ выравнивать, программа тоже работать будет.
begin...end
Благодарю за наводку. Работает, но LBS_DISABLENOSCROLL почему-то помимо неактивной вертикальной прокрутки отображает и горизонтальную, что мне совсем не нужно. Ищу как убрать, тем более, что по все докам, что я нарыл, должна отображаться только вертикальная полоса.
← →
Ученик (2005-06-23 22:32) [4]>TrueCoder (23.06.05 19:41) [3]
procedure TMyListBox.CreateParams(var aParams: TCreateParams);
begin
inherited;
aParams.Style := (aParams.Style or LBS_DISABLENOSCROLL) and not WS_HSCROLL
end;
← →
TrueCoder (2005-06-23 22:42) [5]Ученик
Итить! Вот спасибо от недоучки. Пробовал также, но без скобок, а логику-то и не учел!
Страницы: 1 вся ветка
Текущий архив: 2005.07.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.039 c