Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2008, 23:55   #1
AnalogXP
Пользователь
 
Аватар для AnalogXP
 
Регистрация: 11.01.2008
Сообщений: 42
По умолчанию Как обновить иконки у VirtualStringTree

Как обновить иконки узлов?
Пока что загружаю узлы заново. А в рантайме не могу.
AnalogXP вне форума Ответить с цитированием
Старый 31.03.2008, 00:34   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
VirtualStringTree
Это что ж за зверь такой? Я у себя в семерке такого не нашел...
Наверное, вы какую-то дополнительную библиотеку ставили?
mihali4 вне форума Ответить с цитированием
Старый 31.03.2008, 09:36   #3
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Я, например так сделал... Причесывать код лениво, но тут в принципе не много.

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, VirtualTrees, RzButton, ImgList, ExtCtrls, RzPanel;

type TData = record
  data1: string;
  ImIndex: integer;
end;

PData = ^TData;

type
  TForm1 = class(TForm)
    RzToolbar1: TRzToolbar;
    ImageList1: TImageList;
    BtnNew: TRzToolButton;
    BtnOpen: TRzToolButton;
    Tree1: TVirtualStringTree;
    procedure FormCreate(Sender: TObject);
    procedure BtnNewClick(Sender: TObject);
    procedure Tree1GetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
      Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
    procedure Tree1GetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode;
      Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean;
      var ImageIndex: Integer);
    procedure BtnOpenClick(Sender: TObject);
  private
    NewNode: PVirtualNode;
    TreeData: PData;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtnNewClick(Sender: TObject);
begin
NewNode := Tree1.AddChild(nil, nil);
TreeData := Tree1.GetNodeData(NewNode);
TreeData^.data1 := 'Проверка';
end;

procedure TForm1.BtnOpenClick(Sender: TObject);
begin
TreeData := Tree1.GetNodeData(Tree1.FocusedNode);
TreeData^.ImIndex := 2;
Tree1.RepaintNode(Tree1.FocusedNode);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Tree1.NodeDataSize := SizeOf(TData); 
end;

procedure TForm1.Tree1GetImageIndex(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
  var Ghosted: Boolean; var ImageIndex: Integer);
var
  TreeData: PData;
begin
TreeData := Sender.GetNodeData(Node);
case Column of
  0: ImageIndex := TreeData^.ImIndex;

end;
end;

procedure TForm1.Tree1GetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
 var
  TreeData: PData;
begin
TreeData := Sender.GetNodeData(Node);
case Column  of
  0: CellText := TreeData^.data1;
end;
end;

end.
Баламут вне форума Ответить с цитированием
Старый 31.03.2008, 09:39   #4
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Это что ж за зверь такой? Я у себя в семерке такого не нашел...
Нет его там, но очень рекомендую! Бесплатный и очень хороший TreeList. Правда несколько сложноват кажется при первом знакомстве... Но черт меня подери, он того стоит!
Баламут вне форума Ответить с цитированием
Старый 31.03.2008, 11:31   #5
AnalogXP
Пользователь
 
Аватар для AnalogXP
 
Регистрация: 11.01.2008
Сообщений: 42
По умолчанию

Баламут, спасибо, помогло.
AnalogXP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обновить Dr web? jenja Безопасность, Шифрование 2 09.03.2009 14:23
Как обновить Nod32 jenja Софт 1 04.03.2009 01:27
Найти изменения и обновить Radmir Microsoft Office Excel 4 28.02.2008 10:10
как обновить окно??? nimf Общие вопросы Delphi 4 22.01.2008 18:46
Обновить Memo VDLab Win Api 7 02.06.2007 01:43