|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
TreeView и ImageList
Проблема в том что - надо присвоить отдельным пунктам отдельные иконки
Как при создании нового дочернего раздела Код:
TreeView1.Items.Item.AddChild(TreeView1.Selected, 'Новый раздел'); или же есть другой способ создания нового раздела с определенными параметрами - просто я не врубился вроде в ручную при добавлении можно выбрать ImageIndex SelectedIndex StateIndex Expandedindex а в моем случае - где они? Нет ничего не возможного. Вопрос только во времени... |
#2
|
|||
|
|||
создай для начала банк иконок на пободии приведённого ниже кода
Код:
mas[0]:='ico/Node_0/True.bmp'; mas[1]:='ico/Node_0/False.bmp'; ... mas[8]:='ico/Node_3/False.bmp'; for i:=0 to 8 do begin bm.LoadFromFile(mas[i]) ; bm.Width:=16; bm.Height:=16; mask.Assign(bm); mask.Mask(clBlue); suiTreeView1.Images.Add(bm, mask); end; далее присваивай иконки следующим образом Код:
node:=Form1.suiTreeView1.Items.AddChild(ParentNode, 'New node'); node.ImageIndex:=2 // иконка(нумерация начинается с 0)(эта иконка при ожидании будет отображенна) node.SelectedIndex:=1; // эта иконка при наведении на узел node.HasChildren:=true; // ставим продолжение дерева(тоесть + на открытие след. уровня Нужна платная помощь в реализации пиши ICQ: 410691984 |
#3
|
|||
|
|||
меня больше интересует другой вопрос как при раскрытии следующего узла, не выделая его, узнать что в нём написанно
если вот так TreeView1.Selected.Text то он нам возратит чисто выделенный узел, но не узел у которого мы нажали на + Нужна платная помощь в реализации пиши ICQ: 410691984 |
#4
|
|||
|
|||
событие OnExpanding для TTreeView, параметр Node: Node.Text и т.д.
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя Последний раз редактировалось Assistant, 04.04.2011 в 01:47. |
#5
|
|||
|
|||
Assistant, спасибо!
Нужна платная помощь в реализации пиши ICQ: 410691984 |
#6
|
||||
|
||||
Вопрос - почему не работает
node.expandedimageindex:=2; при разворачивании раздела изображения не меняется - почему? и как перетаскивать разделы так что бы параметры не менялись - а то после перетаскивания - икона раздела меняется если сделать так Код:
with TreeView1 do begin nodeTmp := Items.AddChild(TargetNode, SourceNode.Text); nodetmp.ImageIndex:=treeview1.Selected.SelectedIndex; nodetmp.SelectedIndex:=treeview1.Selected.SelectedIndex; for i := 0 to SourceNode.Count - 1 do begin MoveNode(nodeTmp, SourceNode.Item[i]); end; end; то сохраняется параметры только выбранного раздела - а вот иконы подразделов не сохраняются....как быть? Нет ничего не возможного. Вопрос только во времени... |
#7
|
||||
|
||||
подскажите процедурку чтобы раскрыть все дерево со всеми узлами
|
#8
|
|||
|
|||
Цитата:
Код:
TreeView1.Items[0].Expand(True); |
#9
|
|||
|
|||
Цитата:
Код:
nodetmp.ImageIndex:=treeview1.Selected.SelectedIndex; nodetmp.SelectedIndex:=treeview1.Selected.SelectedIndex; Нужна платная помощь в реализации пиши ICQ: 410691984 |
#10
|
||||
|
||||
Цитата:
TreeView1.FullCollapse - свернуть все дерево Пишу программы за еду. __________________ |
#11
|
||||
|
||||
Цитата:
Айблиин как я мог такую ошибку допустить... а как быть подразделами - когда перетаскиваю раздел - который имеет под разделы - все иконки подраздела меняются на то что стоит у раздела - эту проблему как решить.. Нет ничего не возможного. Вопрос только во времени... |
#12
|
||||
|
||||
АААА сссори решил проблему - если что вот код
Код:
procedure TForm1.MoveNode(TargetNode, SourceNode: TTreeNode); var nodeTmp: TTreeNode; i: Integer; begin with TreeView1 do begin nodeTmp := Items.AddChild(TargetNode, SourceNode.Text); nodetmp.ImageIndex:=treeview1.Selected.ImageIndex; nodetmp.SelectedIndex:=TreeView1.Selected.SelectedIndex; for i := 0 to SourceNode.Count - 1 do begin sourcenode.ImageIndex:=sourcenode.Item[i].ImageIndex; sourcenode.SelectedIndex:=sourcenode.Item[i].SelectedIndex; MoveNode(nodeTmp, SourceNode.Item[i]); end; end; end; Но как быть с - Код:
node.expandedimageindex:=2; Нет ничего не возможного. Вопрос только во времени... |