Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как включить 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);


Наверх

Титульная страница Поиск, карта сайта Написать письмо