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

Вниз

TreeView + Checkbox   Найти похожие ветки 

 
QAZ   (2009-05-18 16:34) [0]

Вобщем дерево может показывать чекбоксы
1) как сделать чтоб при выделении ветки выделялись все вложеные,
а при выделении вложеных частично чекался родитель-вобщем как
в "нормальных" деревьях в инсталяторах и файломанагерах
2) и как собственно получить список выделеных "файлов" с полными
путями в дереве
воот...
я понимаю что тут рекурсии и все такое ,только
дерево так устроено что мой мозг отказывается это понимать :(

может есть у кого куски готового кода или ссылки на них


 
Дмитрий К ©   (2009-05-19 19:02) [1]

1) http://dmiko.mail333.su/other/tv.7z
2) У TreeView есть метод TVItemPath, который как раз возвращает полный путь в дереве. Нужно пройтись по всем узлам дерева и те, у которых нет детей и стоит флажок, добавить в список.


 
QAZ   (2009-05-19 19:32) [2]

о да ништяк
ты даже мой прошлый вопрос применил :)
а частичная чеканутость возможна только с самопальными картинками ?

пройтись надо рекурсивно ?
можеш хотябы скелет процедуры накинуть :( можно даже на исконно русском :)


 
Дмитрий К ©   (2009-05-19 20:13) [3]


> а частичная чеканутость возможна только с самопальными картинками
> ?

да, насколько мне известно.

procedure GetChecked(ParentItem: Cardinal; var SL: PStrList);
var Item: Cardinal;
begin
 Item := TV.TVItemChild[ParentItem];
 while Item <> 0 do
 begin
   if TV.TVItemStateImg[Item] <> tvisUnсhecked then
   begin
     if TV.TVItemHasChildren[Item] then
       GetChecked(Item, SL)
     else
       SL.Add(TV.TVItemPath(Item, "\"));
   end;
   Item := TV.TVItemNext[Item];
 end;
end;


 
QAZ   (2009-05-19 21:28) [4]

спасибо :)
типерь ничто не остановит меня от захвата мира


 
MTsv DN   (2009-05-19 21:35) [5]

[offtop]Все, абздец. QAZ теперь весь Мир зачеканными деревьями засадит.
[/offtop]


 
QAZ   (2009-06-10 12:05) [6]

возник вопрос
как кашерно объединить дерево с листвиевом
чтоб в дереве были "папки" а в листе "файлы"
("файл" имееца в виду  последний блок в строке типа папка\папка\папка\файл, кароче готовый список строк)

тобиш дерево создаем из папок к ним чепляем указатель
на список файлов в даной папке, и кагда выделяеш папку
список файлов листвиевица

и чтоб вся эта прелесть чекалась да частично перечекивалась ?



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1332757380
leklerk
2012-03-26 14:23
2013.03.22
Аналог ExecSQL для ADODataSet


15-1353709407
Kerk
2012-11-24 02:23
2013.03.22
Про Москву


15-1349298953
Дмитрий С
2012-10-04 01:15
2013.03.22
Как называется разъем?


2-1340259923
vasa777
2012-06-21 10:25
2013.03.22
компилятор


15-1343315733
brother
2012-07-26 19:15
2013.03.22
С днем системного администратора