Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];

Вниз

Как сделать дерево выбора каталога с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-7077
Bmod
2002-05-21 15:30
2002.06.03
Редактор компонента в Delphi 6...


3-6919
VOVK
2002-05-14 09:44
2002.06.03
Документация по Domino Designer 5.0


1-7026
phantom2040
2002-05-21 10:22
2002.06.03
Загрузка в Memo текстового файла


1-7038
Андр
2002-05-21 13:28
2002.06.03
Событие смены фокуса на уровне формы


4-7257
tupica
2002-03-27 21:22
2002.06.03
И опять про иконку в трее





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский