![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отображение иконок в 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;