Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.03;
Скачать: CL | DM;

Вниз

Как сделать дерево выбора каталога с CheckBox`ами?   Найти похожие ветки 

 
MegaVolt ©   (2002-05-16 13:18) [0]

Например такое как сделано в нортоновских утилитах для UnErase?


 
Song ©   (2002-05-16 13:19) [1]

Засунуть TCheckBox в TTreeView


 
Krok   (2002-05-16 13:50) [2]

Перекрываешь событие TTreeView.OnClick :

const
ICON_NONE = 0;
ICON_YES= 1;

{....}

procedure TFormCommon.TreeGroupClick(Sender: TObject);
var
Good : boolean;
X_,Y_: integer;
Node,RootNode : TTreeNode;
MousePos: TPoint;
begin
GetCursorPos(MousePos);
with PointToSmallPoint(TreeGroup.ScreenToClient(MousePos)) do
begin
X_ := X;
Y_ := Y;
end;
Node := TreeGroup.GetNodeAt(X_, Y_);
if (Node<>nil) and
(htOnIcon in TreeGroup.GetHitTestInfoAt(X_,Y_)) then
begin
if (Node.ImageIndex=ICON_NONE) then
Node.ImageIndex=ICON_YES
else
Node.ImageIndex=ICON_NONE
end;


В ImageList соответствующие картинки(под номером 0 - без галочки, 1- с галочкой)


 
Дмитрий Баранов   (2002-05-16 14:08) [3]

procedure TForm1.FormCreate(Sender: TObject);
var style: DWORD;
const TVS_CHECKBOXES = $0100;
begin
style := GetWindowLong(TreeView1.Handle, GWL_STYLE);
style := style or TVS_CHECKBOXES;
SetWindowLong(TreeView1.Handle, GWL_STYLE, style);
end;


 
MegaVolt ©   (2002-05-16 14:53) [4]

Но последнее предложение делает TreeView с CheckBox`ами а заполнять мне придётся самому :( Но например в тех же нортоновских утилитах это сделано черезвычайно похоже на стандартный выбор каталога. Может есть какиенибудь виндяшные стандартные способы типа флага у стандартного диалога выбора каталога?


 
MegaVolt ©   (2002-05-16 17:54) [5]

Ни кто не знает?


 
Дмитрий Баранов   (2002-05-16 18:00) [6]

Если ты имеешь в виду тот диалог, который возникает при вызове ф. SHBrowseForFolders, то иначе как полухакерскими методами туда чекбоксы не засунешь, а если и получится, то получать информацию будет шибко сложно.
Выходы
1) Взять 6 делфи, там есть дерево каталогов a la Explorer, извратиться над его стилем, сделать свой диалог (сымитировать стандартный)
2) Скачать откуда-нить компонент FolderTree - сделать то же самое
3) ... или написать самому.


 
MBo ©   (2002-05-16 18:13) [7]

Я не видел NU. Чем не устраивают приведенные подходы и чего конкретно надо добиться?


 
MegaVolt ©   (2002-05-20 10:44) [8]

MBo:
я хочу иметь возможность выбора директорий в дереве. Т.е. указать верхнюю папку и все нижние мне не подходит нужно указывать те папки которые я захочу например как это сделано в КАV 4...


 
MegaVolt ©   (2002-05-20 17:26) [9]

При том со стандартными картинками т.е. Мой компьютенр и пр. Как такие картинки доставать из винды?


 
Игорь Шевченко ©   (2002-05-20 17:39) [10]

Все стандартные картинки находятся в файле Shell32.dll

С уважением,


 
MegaVolt ©   (2002-05-21 10:15) [11]

А как к ним обращатся? Емсли не сложно с примером


 
MegaVolt ©   (2002-05-21 10:15) [12]

А как к ним обращатся? Если не сложно с примером


 
MegaVolt ©   (2002-05-21 14:23) [13]

Кто знает как извлекать картинки откликнитесь :)


 
Игорь Шевченко ©   (2002-05-21 14:35) [14]

LoadBitmap, обычно...
Есть еще такое понятие, как System ImageList - тоже в Shell32.dll



Страницы: 1 вся ветка

Текущий архив: 2002.06.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
3-6903
KVT2002
2002-05-13 09:47
2002.06.03
Отмена изменений в DBGrid, как в Word e


1-7014
Zak
2002-05-23 13:01
2002.06.03
Путь к папке WINDOWS!


1-7090
BJValentine
2002-05-20 09:58
2002.06.03
Динамический массив


1-7017
SergeyDon
2002-05-23 14:07
2002.06.03
Почему


14-7209
dlp
2002-04-28 11:17
2002.06.03
Помогите с алгоритмом!