Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.21;
Скачать: CL | DM;

Вниз

как в TreeView добавить картинку ?   Найти похожие ветки 

 
Sp1r1t   (2006-12-22 14:34) [0]

Подскажите как добавить картинку в TreeView ?


 
alex_*** ©   (2006-12-22 14:40) [1]

на узел?


 
Ega23 ©   (2006-12-22 14:41) [2]

1. Использовать метод OnCustomDraw
2. Связать с деревом ImageList и каждому узлу приписывать ImageIndex.


 
Sp1r1t   (2006-12-22 14:44) [3]

А какому свойству или методу нужно присвоить ImageIndex?


 
Ega23 ©   (2006-12-22 14:48) [4]


> А какому свойству или методу нужно присвоить ImageIndex?


Узлу соответствующему.


 
Sp1r1t   (2006-12-22 14:54) [5]

можешь примерно написать как??


 
Ega23 ©   (2006-12-22 15:03) [6]

могу

procedure TCustomKdrDBTreeView.AddAllNodes(ParentID: Variant;
 ParentNode: TTreeNode);
var
k:Integer;
CurrNode:TTreeNode;
begin
for k:=0 to FTreeItems.Count-1 do
 begin
  With TKdrDBTreeViewItemIdent(FTreeItems.Items[k]) do
   begin
    if (Node<>nil) or (ParentKeyFieldValue<>ParentID) then Continue;
    if ParentNode=nil then
     CurrNode:=Items.Add(nil, DisplayFieldValue)
    else
     CurrNode:=Items.AddChild(ParentNode, DisplayFieldValue);
     CurrNode.ImageIndex:=ImageIndex;
     CurrNode.SelectedIndex:=ImageIndex;
    Node:=CurrNode;
    CurrNode.Data:=FTreeItems.Items[k];
    AddAllNodes(KeyFieldValue, CurrNode);
   end; // With
 end; // for

end;


 
Sp1r1t   (2006-12-22 15:06) [7]

спасибо


 
Sp1r1t   (2006-12-22 15:14) [8]

Слушай а попроще можно ? ))
Ато я еще не сильно во всем этом разбираюсь.
У меня есть ImageList1 и TreeView1. Можешь изменить код чтобы там были эти имена. Ато какието TCustomKdrDBTreeView,FTreeItems, TKdrDBTreeViewItemIdent.
Pls


 
Ega23 ©   (2006-12-22 15:16) [9]

А чуток подумать? Мне-то не сложно, но тебе ведь учиться надо, не так-ли?


 
Loginov Dmitry ©   (2006-12-22 15:16) [10]

Основное здесь - это
ImageIndex и SelectedIndex

Причем эти свойства можно изменять и в Дизайн-Тайме.


 
Sp1r1t   (2006-12-22 15:20) [11]

В TTreeView нет свойств ImageIndex и SelectedIndex. А разбираться мне еще сложно в таком. Мне проще на рабочем примере разобраться. Еще раз прошу напиши плс чайниковый кодик )


 
Ega23 ©   (2006-12-22 15:31) [12]


> В TTreeView нет свойств ImageIndex и SelectedIndex.


Правильно. Они есть у TTreeNode.


 
Loginov Dmitry ©   (2006-12-22 15:33) [13]

> Еще раз прошу напиши плс чайниковый кодик )


А что, Design-Time уже не в моде?


 
Sp1r1t   (2006-12-22 21:02) [14]

For Ega23:
не пойму че такое TCustomKdrDBTreeView.AddAllNodes ?
Или это откудато часть кода или че это такое ты мне даешь?


 
Sp1r1t   (2006-12-22 21:03) [15]

Или если кто может дать нормальный код в котором можно разобраться новичку - дайте плс. Ато я помощи с утра уже не дождусь ((


 
Virgo_Style ©   (2006-12-22 21:37) [16]

Sp1r1t   (22.12.06 21:03) [15]
Ато я помощи с утра уже не дождусь


врешь


 
Sp1r1t   (2006-12-22 21:42) [17]

Ок. Пойдем другим путем )

var СurrNode:TTreeNode;
begin
  TreeView1.StateImages:=ImageList1;
  CurrNode.Text:="Hello";
  CurrNode.StateIndex:=1;
  TreeView1.Items.Add(CurrNode,"123");

в ImageList у меня есть картинки, но выдает ошибку типа выход за предел диапазона - короче память. В чем проблема?


 
Virgo_Style ©   (2006-12-22 21:54) [18]

Sp1r1t   (22.12.06 21:42) [17]
В чем проблема?


Ты работаешь (пытаешься) с несозданным TTreeNode.


 
Sp1r1t   (2006-12-22 22:05) [19]


var CurrNode:TTreeNode;
    Nodes:TTreeNodes;
begin
  TreeView1.StateImages:=ImageList1;
  CurrNode:=TTreeNode.Create(Nodes);
  CurrNode.Text:="Hello";
  CurrNode.StateIndex:=1;
  TreeView1.Items.Add(CurrNode,"123");


Не работает всеравно


 
Loginov Dmitry ©   (2006-12-22 23:23) [20]

>  CurrNode:=TTreeNode.Create(Nodes);


Ето.. А может сразу

CurrNode:=TreeView1.Items.Add{Child}(nil,"Hello");

Ну и далее:
CurrNode.ImageIndex := 1;
CurrNode.SelectedIndex := 1;


 
Sp1r1t   (2006-12-23 00:47) [21]

дааа, я думал тут шарящие люди, а получаецца ГГ к-то ((


 
Германн ©   (2006-12-23 01:23) [22]


> Sp1r1t   (23.12.06 00:47) [21]
>
> дааа, я думал...

Что-то не похоже, что ты хоть раз пытался думать :-(


 
bolt   (2007-01-02 22:42) [23]

Ну и что решили то?


 
bolt   (2007-01-02 22:56) [24]

Написал так:
TreeViewOrgBase.Images:=ImageList.CreateSize(16,16);
with TreeViewOrgBase do
 begin
   Items.Add( nil,"Контрогенты");
   Items.AddChild(Items[0],"111");
   Items.Item[0].ImageIndex:=1;
   Items.AddChild(Items[0],"222");
   Items.Item[1].ImageIndex:=2;
 end;
end;

Иконки выводит, но при щелчке на какой либо Item, TreeView присваевает текущему Item-у первую картинку из ImageList


 
bolt   (2007-01-02 22:56) [25]

Почему?


 
bolt   (2007-01-03 20:15) [26]

Никто не вкурсе?


 
trubin ©   (2007-01-03 20:18) [27]

См. свойство TTreeNode.SelectedIndex


 
bolt   (2007-01-03 20:21) [28]

Сейчас посмотрим!


 
bolt   (2007-01-03 20:58) [29]

Items.Add( nil,"Контрогенты");
  Items.AddChild(Items[0],"111");
  Items.Item[0].ImageIndex:=1;
  Items.AddChild(Items[0],"222");
  Items.Item[1].ImageIndex:=2;

Переделан ввиде:
  Items.Add( nil,"Контрогенты");
  Items.AddChild(Items[0],"111");
  Items.Item[0].ImageIndex:=1;
       Items.Item[0].SelectedIndex:=Items.Item[0].ImageIndex;
  Items.AddChild(Items[0],"222");
  Items.Item[1].ImageIndex:=2;
       Items.Item[1].SelectedIndex:=Items.Item[1].ImageIndex;

Теперь все ВПОРЯДКЕ, картинки при выборе ветки не меняються, МОЖЕТ КОМУ ПОНАДОБИТЬСЯ!



Страницы: 1 вся ветка

Текущий архив: 2007.01.21;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.053 c
6-1155801098
barakuda
2006-08-17 11:51
2007.01.21
Инди давай быстрее, быстрее!


2-1167919984
kwotz
2007-01-04 17:13
2007.01.21
Трей!


15-1167239507
oldman
2006-12-27 20:11
2007.01.21
Мама, я очень болен. Мама, нас лечат не те врачи... (Чиж ©)


15-1167815836
palva
2007-01-03 12:17
2007.01.21
Их нравы


15-1167139167
Rouse_
2006-12-26 16:19
2007.01.21
Чего они сказать то хотели?