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

Вниз

Работа с TreeView   Найти похожие ветки 

 
Delphuk ©   (2007-07-04 20:11) [0]

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

В FAQ"е и на форуме я ничего подобного не нашёл, а в книге по KOL, на эту тему мало информации.


 
=BuckLr=   (2007-07-04 20:48) [1]


> ри установке галки "родителю" автоматически ставить галочки
> "детям"

Перебором, по-моему, больше никак. Может, кто ещё способ знает


> какие узлы отмечены галочкой

TVItemSelected


>  добавить картинку в некоторые узлы

TVItemSelImg\TVItemStateImg


>  сделать отдельные хинты для каждого узла

Можно показывать вручную. Тут придётся плясать от TVItemAtPos. Посмотри demotreeviewdrag.7z на сайте.


 
vpbar   (2007-07-04 21:30) [2]

Точно сказал =BuckLr=. Больше и сказать нечего если только код дать.


 
Delphuk ©   (2007-07-04 23:42) [3]

Посмотрел демку, там только есть добавление и удаление, а того что меня интересует там нет. Как не пытался, ничего не получается. Как я понял, картинку произвольному узлу вообще нельзя поставить :( С определением состояния галочек тоже проблема. Как не стыдно, но думаю будет лучше показать код :(


 
=BuckLr=   (2007-07-05 09:20) [4]


> там только есть добавление и удаление

Там есть пример использования TVItemAtPos. Ну как домой приду, может, напишу примерчик


 
Unknown Mystic ©   (2007-07-05 10:39) [5]

А галочки через TVItemSelected и не ловятся.
Только перебор с проверкой TVItemStateImg на 1 или 2 - не помню точно.

И картинку можно поставить отдельному узлу. Тут =BuckLr= совершенно прав.


 
=BuckLr=   (2007-07-05 13:43) [6]


> А галочки через TVItemSelected и не ловятся

Кстати!


 
Delphuk ©   (2007-07-05 22:31) [7]

=BuckLr=, так что на счёт демки. Хотелось бы посмотреть как пробежать по всему дереву и определить какие узлы отмечены галочками + как можно отметить галочкой произвользый узел?


 
vpbar   (2007-07-06 09:53) [8]

Устанавливает галочки (которые картинки узлов) всех потомков узла Parent в состояние (которое индекс картинке в списке ImageList) selst

function TFF1.SetSelChild(Parent, selst: cardinal): DWORD;
// c- ID_TREE_NODE ss-TVItemStateImg
var
 cur: integer;
begin
 result := 0;
 cur := DirTreeView1.TVItemChild[Parent];
 if cur = 0 then exit;
 repeat
   DirTreeView1.TVItemStateImg[cur] := selst;
   SetSelChild(cur, selst);
   cur := DirTreeView1.TVItemNext[cur];
 until cur = 0;
end;

Соответственно пробежатся аналогично, а проверка, что узел выделен == проверке что у узла определенная иконка (DirTreeView1.TVItemStateImg[cur] = selst)
ЗЫ
Читайте "Книга о KOL"


 
Delphuk ©   (2007-07-06 22:39) [9]

Спасибо. Книгу и FAQ я читаю :)


 
Robt ©   (2007-12-13 11:07) [10]

как корректно через TVExpanding
добавлять узлы в раскрывающийся узел ?
и чтоб это срабатывало тока на не раскрытых узлах

это что то в стиле коловского dirtreeview
но код перенесенный оттуда у меня не
работает при включенной оптимизации !?
точней внутренне работает но визуально узлы не раскрываются !?



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
15-1230064090
Anatoly Podgoretsky
2008-12-23 23:28
2009.02.22
ГЛЮК


2-1231824561
r900000
2009-01-13 08:29
2009.02.22
Работа с Мемо компонентами


15-1229697349
Добежал
2008-12-19 17:35
2009.02.22
InnoSetup настроить установку по разным путям?


2-1231117634
VolMyr
2009-01-05 04:07
2009.02.22
Главная форма


15-1230066661
Поросенок Винни-Пух
2008-12-24 00:11
2009.02.22
"расчесать" *.ape + *.cue