Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2009, 10:10   #1
Demien
Форумчанин
 
Аватар для Demien
 
Регистрация: 01.08.2007
Сообщений: 222
Вопрос Работа с TreeView

На мой взгляд компонент TreeViev довольно удобный, но к сожалению я так и не нашел подробного описания возможностей...
А потому опять к вам!
Вопрос 1-й: Как запретить создание третего уровня элементов в TreeView? Необходимо чтоб было только 2 уровня - корневой и влженые в крневой уровень элемененты.
Вопрос 2-й: Как при выделении вложеного элемента изменить его изображение?
Заранее благодарен!
Жить тоже вредно, от этого умирают!!!
Demien вне форума Ответить с цитированием
Старый 02.07.2009, 11:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как запретить создание третего уровня элементов в TreeView?
Ну просто не прописывай в программе такую операцию )
Цитата:
Как при выделении вложеного элемента изменить его изображение?
А там есть treeview.Selected.Imageindex. Вот ему присваивай номер изображения в связанном с этим деревом компонентом ImageList
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.07.2009, 16:39   #3
Demien
Форумчанин
 
Аватар для Demien
 
Регистрация: 01.08.2007
Сообщений: 222
По умолчанию

Пробовал я через свойство "TreeView.Selected.ImageIndex:= *"
Ничего толкового не вышло... Либо выделенный элемент получает новое изображение только после потери фокуса, либо после потери лишь на мновение появляется новая иконка... а то и вообще ошибки выдает при запуске проэкта... ((. Вобщем в разных методах по разному...
Может я не те методы использую? Прововал на "OnClick", "OnChange", "OnChanging", "OnCustomDrawItem"...
Жить тоже вредно, от этого умирают!!!
Demien вне форума Ответить с цитированием
Старый 02.07.2009, 16:57   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

упс перечитал, неправильно понял...

на
OnChange можно так

Код:
 Node.SelectedIndex:=2;
тамже 3 варианта SelectedIndex, ImageIndex, и StateIndex, какждый для своего

по моему легче задать все индексы при создании нода
както так
Код:
var
ND:TTreeNode;
begin
ND:=TreeView1.Items.Add(TreeView1.Selected,'øîòîòàì');
ND.SelectedIndex:=2;
ND.ImageIndex:=-1;
ND.StateIndex:=0;
end;
а если создаёте по действию, в программе то можно же ограничить до 2 уровней примерно так

Код:
if  TreeView1.Selected.Parent<>nil then ShowMessage('Дальше нельзя') else
TreeView1.Items.AddChild(TreeView1.Selected,'шототам');

Последний раз редактировалось vovk; 02.07.2009 в 17:32.
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
treeview cheef Компоненты Delphi 3 15.04.2009 15:18
TreeView Help KWN, lnc Общие вопросы Delphi 12 03.03.2009 10:34
TreeView _SERGEYX_ Общие вопросы Delphi 1 01.09.2008 17:29
Treeview forzi Помощь студентам 4 04.05.2008 23:50
Работа с TreeView. Помогите найти ошибку. AlDelta Компоненты Delphi 2 20.07.2007 12:31