![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как включить scroollbars у TShellTreeView?
Дмитрий Белькевич © (2012-09-26 09:09:00)Собственно сабж...
Edgar_Wine (2012-10-05 11:14:00) [1]хмм.. У меня Win7/D7 - и их видно. Может в 2010 каких-то таких property добавили? А компонентов для "скинизирования" случайно не используется?
Дмитрий Белькевич (2012-09-30 11:13:00) [2]БI>
> Попробуйте так:
Спасибо, почти идеально работает. Скроллбаров только не видно. Чекбоксы присутствуют, лист скролится.
Edgar_Wine (2012-09-27 15:11:00) [3]Delphi 7. Скроллбары имеются по умолчанию, после куска кода остаются на месте, но не работают.
Попробуйте так:
const TVS_CHECKBOXES = $0100;
var dwStyle: DWord;
begin
dwStyle:=GetWindowLong(ShellTreeView1.Handle, GWL_STYLE);
dwStyle:=dwStyle Or TVS_CHECKBOXES or WS_VSCROLL;
SetWindowLong(ShellTreeView1.Handle, GWL_STYLE, dwStyle);
end;
QAZ2 (2012-09-26 17:18:00) [4]мош луче это делоть в переопределеном Create?
Дмитрий Белькевич (2012-09-26 09:19:00) [5]Да, Delphi 2010, если имеет значение.
Дмитрий Белькевич (2012-09-26 09:18:00) [6]Уточняю, что получается.
Мне нужен TShellTreeView с чекбоксами и со скроллбарами (или хотя бы со скроллингом вверх-вниз).
Скролл работает нормально, когда отключены чекбоксы. Включаю чекбоксы - отключается скролл. Скроллбаров, при этом, вообще никогда нет.
Скролл включаю так:
var
dwStyle: DWord;
begin
dwStyle := GetWindowLong(ShellTreeView1.Handle, GWL_STYLE);
dwStyle := dwStyle or WS_VSCROLL;
SetWindowLong(ShellTreeView1.Handle, GWL_STYLE, dwStyle);
Чекбоксы так:
dwStyle := GetWindowLong(ShellTreeView1.Handle, GWL_STYLE);
dwStyle := dwStyle or OBM_CHECKBOXES;
SetWindowLong(ShellTreeView1.Handle, GWL_STYLE, dwStyle);