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

Вниз

Работа с 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 вся ветка

Форум: "KOL";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1229937682
Calligraff
2008-12-22 12:21
2009.02.22
Delphi - Толи лыжи не едут толи я ... ненормальный


2-1228673231
dr_creigan
2008-12-07 21:07
2009.02.22
Excel


15-1230322349
Ferbuss
2008-12-26 23:12
2009.02.22
Где ошибка?


15-1230272529
{RASkov}
2008-12-26 09:22
2009.02.22
Разрешение принтера


3-1214400551
arhis
2008-06-25 17:29
2009.02.22
Размер базы Access





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский