Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
Изменение свойств scrollbar у TreeView Найти похожие ветки
← →
Asker (2007-08-26 16:50) [0]В treeview если scrollbar не нужен то он прячется, а нужно чтоб становился серым. Решение проблемы теоретически заключается в следующем:
GetScrollInfo(LeftTreeView.Handle, SB_VERT, ScrlInfo);
ScrlInfo.fMask:=SIF_DISABLENOSCROLL;
SetScrollInfo(LeftTreeView.Handle, SB_VERT, ScrlInfo, true);
Но, не работает: скролл бар снова просто прячется если не нужен. Не могу понять в чем дело.
← →
Lacmus © (2007-08-27 13:50) [1]В чем дело не знаю, возможный вариант решения
procedure TForm44.TreeView1AdvancedCustomDraw(Sender: TCustomTreeView;
const ARect: TRect; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var
ScrollInfo: TScrollInfo;
begin
if Stage = cdPrePaint then with TreeView1 do begin
FillChar(ScrollInfo, SizeOf(ScrollInfo), 0);
ScrollInfo.cbSize := SizeOf(ScrollInfo);
ScrollInfo.fMask := SIF_ALL;
if GetScrollInfo(Handle, SB_VERT, ScrollInfo) then begin
if ((GetWindowLong(Handle, GWL_STYLE) and WS_VSCROLL) = 0) or (ScrollInfo.nPage = 0) then begin
ScrollInfo.fMask := SIF_DISABLENOSCROLL or SIF_ALL;
ScrollInfo.nPage := 1;
ShowScrollBar(Handle, SB_VERT, True);
SetScrollInfo(Handle, SB_VERT, ScrollInfo, True);
EnableScrollBar(Handle, SB_VERT, ESB_DISABLE_BOTH);
end else if Integer(ScrollInfo.nPage) <= ScrollInfo.nMax then
EnableScrollBar(Handle, SB_VERT, ESB_ENABLE_BOTH)
end
end
end;
← →
Asker (2007-08-27 23:36) [2]Спасибо за код Lacmus.
Страницы: 1 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.062 c