Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отображение иконок в TreeView.


Fenix ©   (2006-03-18 21:56:00) 

Доброго времени суток.
Я сечас работаю с TreeVie и у меня возникли вопросы.
Как узнать раскрыта или свернута ветка, и как заставить программно разварачиваться и сварачиваться ветки.
И у меня к TreeView привязан  ImageList. Я задаю все картинки как мне надо, но под курсором почемуто всегда одна и таже иконка (она идет 1 в  Imagelist). Что надо исправить, что бы она исчезла?


Palladin   (2006-03-19 16:15:00) [1]


> я же писал, что у меня иконки могут менять во время работы
> программы.

А то что SelectedIndex и ImageIndex, про которые тебе рассказывали, это и есть индексы изображений ты недопер? Не пренебрегай справкой.


Fenix   (2006-03-19 14:06:00) [2]


> EvS   (19.03.06 12:34) [11]

Спс теперь все нормально работает.


> Что мешает изначально задать SelectedIndex = ImageIndex?

я же писал, что у меня иконки могут менять во время работы программы.


EvS   (2006-03-19 12:34:00) [3]

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
Node.ImageIndex:=n;
Node.SelectedIndex:=m;
end;

n,m -индексы рисунков в ImageList


API   (2006-03-19 12:29:00) [4]

Что мешает изначально задать SelectedIndex = ImageIndex?
К чему все эти манипуляции с индексами?


Fenix   (2006-03-19 11:52:00) [5]

пишу так:

procedure TForm1.TreeView1Click(Sender: TObject);
begin
if TreeView1.Selected<>nil then begin
TreeView1.Selected.ImageIndex:=(sender as TTreenode).ImageIndex;
end;
end;

но мне выскакивает ошибка:
"Invalid class typecast"

Просто у меня у каждого Нода может быть своя иконка, притом во время работы они могут меняться. В чем здесь может быть ошика?


Palladin   (2006-03-19 11:38:00) [6]

Да ты замучил, ну присвой SelectedIndex:=ImageIndex


API   (2006-03-19 11:38:00) [7]

Fenix ©

Как задать что бы у выделенного небыло рисунка?

под выделенным нодом будет пустота, а мне надо, что бы остался его первоначальный рисунок!!!


Вы, для начала, сами разберитесь, что вам надо, а что - не надо.


Fenix   (2006-03-19 11:31:00) [8]


> TTreeNode.SelectedIndex:=-1

Тогда у меня под выделенным нодом будет пустота, а мне надо, что бы остался его первоначальный рисунок!!!


Palladin   (2006-03-19 11:23:00) [9]

TTreeNode.SelectedIndex:=-1


Fenix   (2006-03-19 11:17:00) [10]


> TTreeNode.SelectedIndex

ну да. Как задать что бы у выделенного небыло рисунка? перед созданием дерева?


API   (2006-03-19 11:15:00) [11]

TTreeNode.SelectedIndex?


Fenix   (2006-03-19 10:27:00) [12]


> TTreeNode.ImageIndex:=-1;

Я говорил, что я все задаю как мне надо. Но проблема идет имеенно с выделенным узлом. Я создаю динамически дерево. Но под курсором мышки всегдя один и тот же рисунок. Когда кликаю на другом ноде, то 1 становиться как мне надо, а у 2 опять меняеться рисунок и т.д.


Palladin   (2006-03-18 22:55:00) [13]


> Как узнать раскрыта или свернута ветка

TTreeNode.Expanded


> как заставить программно разварачиваться и сварачиваться
> ветки.

TTreeNode.Expanded:=True;
TTreeNode.Expanded:=False;


> но под курсором почемуто всегда одна и таже иконка

TTreeNode.ImageIndex


> Что надо исправить, что бы она исчезла?

TTreeNode.ImageIndex:=-1;


Наверх

Титульная страница Поиск, карта сайта Написать письмо