Главная страница
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.084 c
15-1353477561
alexdn
2012-11-21 09:59
2013.03.22
Учебник по asp.net


2-1346240125
s_t_d
2012-08-29 15:35
2013.03.22
Диалог SaveDiaalog не сохраняет файл...


2-1336222680
Глеб
2012-05-05 16:58
2013.03.22
Редактирование надписей в компоненте едит


15-1343414133
KilkennyCat
2012-07-27 22:35
2013.03.22
Чем бы учитывать свои радиодетальки?


15-1337956188
Pit
2012-05-25 18:29
2013.03.22
Кайт Томас, Oracle