|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
TListBox и его ScrollBar
Всем доброго
Собственно вопрос, как можно самому перерисовать (или переопределить) стандартный вертикальный ScrollBar класса TListBox (который появляется, если количество Item' ов переваливает за число видимых). поиск привел к FlatSB_XXXX функциям, но Comctl32.dll versions 6.00 and later do not support flat scroll bars. что можно предложить еще? Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#2
|
|||
|
|||
Может быть, проще использовать TListView? Там вроде бы есть опция FlatScrollBars. Или нужно полностью перерисовывать?
|
#3
|
||||
|
||||
нужно именно перерисовать, т.е. изменить ширину, форму, цвет и проч.
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#4
|
|||
|
|||
Код:
procedure TForm1.FormCreate(Sender: TObject); begin with ListBox1 do begin InitializeFlatSB(Handle); FlatSB_EnableScrollBar(Handle,SB_VERT,ESB_ENABLE_BOTH); FlatSB_SetScrollRange(Handle,SB_VERT,0,100,False); // меняем параметры FlatSB_SetScrollProp(Handle,WSB_PROP_VSTYLE,FSB_REGULAR_MODE,False); // плоский FlatSB_SetScrollProp(Handle,WSB_PROP_VBKGCOLOR,clGreen,False); // цвет фона FlatSB_SetScrollProp(Handle,WSB_PROP_CXVSCROLL,100,False); // ширина FlatSB_ShowScrollBar(Handle,SB_VERT,True); end; end; |
Этот пользователь сказал Спасибо zmicer за это полезное сообщение: | ||
cotseec (02.06.2012)
|
#5
|
||||
|
||||
спасибо, но
Цитата:
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#6
|
||||
|
||||
Только запрет скрол-бара и собственная отрисовка или поиск компонента где это уже сделали.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
cotseec (02.06.2012)
|
#7
|
||||
|
||||
это самое кардинальное решение, думал может будет еще что-то буду рисовать
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |