Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.5 c
2-1328712585
upc
2012-02-08 18:49
2013.03.22
Запретить изменять Position с помощью колесика у TrackBar


15-1346788652
_oxffff
2012-09-04 23:57
2013.03.22
Хех. Barry сказал Embarcadero bye.


3-1281355338
defen
2010-08-09 16:02
2013.03.22
Добавление файла в базу


2-1332009127
pooh001
2012-03-17 22:32
2013.03.22
регистронезависимый запрос SQL (Absolute DB или Accuracer)


15-1338888632
Екатерина
2012-06-05 13:30
2013.03.22
Moodle




   Наверх