Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Вниз

как в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.065 c
2-1167305531
vain
2006-12-28 14:32
2007.01.21
Сообщение о закрытии от Винды.


2-1167283740
Sw
2006-12-28 08:29
2007.01.21
поле типа AsDateTime


15-1167225960
VictorT
2006-12-27 16:26
2007.01.21
Помогите вспомнить автора и название рассказика


15-1167366197
NGr
2006-12-29 07:23
2007.01.21
Чем удобнее читать группы новостей ?


8-1148549281
Belorus
2006-05-25 13:28
2007.01.21
Чтение текста голосом.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский