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

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

Иконки в TreeNode [D7, WinXP]


VEZ ©   (2005-10-27 12:57:00) 

Создаю в TreeView ноды динамически, каждому ноду присваиваю иконку, но когда я выделяю какой-нибудь нод у меня вылезает нулевая картинка из ImageList, как можно сразу назначить определённую иконку сразу для всех состояний нода.


VEZ   (2005-10-27 16:15:00) [1]

О, спасибо, работает.


VEZ   (2005-10-27 16:15:00) [2]

О, спасибо, работает.


VEZ   (2005-10-27 16:15:00) [3]

О, спасибо, работает.


VEZ   (2005-10-27 16:15:00) [4]

О, спасибо, работает.


VEZ   (2005-10-27 16:15:00) [5]

О, спасибо, работает.


Ega23   (2005-10-27 14:20:00) [6]


> не, поле Data использовать нельзя, так как оно у меня уже
> используется для связи с другими объектами.


При чём здесь поле Data????


    CurrNode.ImageIndex:=ImageIndex;
    CurrNode.SelectedIndex:=ImageIndex;


VEZ   (2005-10-27 14:15:00) [7]

не, поле Data использовать нельзя, так как оно у меня уже используется для связи с другими объектами.


Ega23   (2005-10-27 14:11:00) [8]

При создании нода:
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;


VEZ   (2005-10-27 14:04:00) [9]

Тогда можно ли как-нибудь в обработчике OnGetSelectedIndex присвоить текущему состоянию нода тот-же имэджиндекс что и в свойстве ImageIndex, которое я задаю при создании нода.


TStas   (2005-10-27 13:37:00) [10]

>VEZ  Для всех состояний сразу - вряд ли. Как состояние изменилось, так менять иконку


VEZ   (2005-10-27 13:27:00) [11]

Ну это надо постоянно менять иконки, да ещё и придётся делать проверку что это за нод и какая картинка для него нужна, а можно это определить как -нибудь один раз.


clickmaker   (2005-10-27 12:59:00) [12]

Node.SelectedIndex
или
OnGetSelectedIndex


Наверх

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