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

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

TreeViev


well ©   (2002-01-23 17:04:00) 

Программисты!
Если не трудно, приведите пример использования свойства "Data" в TTreeNode, пожалуйста!


Rem   (2002-01-23 18:02:00) [1]

Data - это указатель на любые данные, привязанные к ветке или листу. В приведенном ниже примере при создании формы в TreeView1 создается список всех компонентов, размещенных на форме, с учетом иерархии. При двойном щелчке на элементе дерева связанный с ним элемент меняет свою видимость. Чтобы понять в чем дело, рекомендую разместить на форме несколько панелей с размещенными на них кнопками, другими панелями и т.д.

...

TForm1 = class(TForm)
...
private
procedure BuildTree(ParentNode: TTreeNode; Control: TWinControl);
...
end;

...

procedure TForm1.BuildTree(ParentNode: TTreeNode; Control: TWinControl);
var
i: integer;
Node: TTreeNode;
begin
for i := 0 to Control.ControlCount - 1 do
begin
Node := TreeView1.Items.AddChild(ParentNode, Control.Controls[i].Name);
Node.Data := Control.Controls[i];
if (Control.Controls[i] is TWinControl) then BuildTree(Node, TWinControl(Control.Controls[i]));
end;
end;

procedure TForm1.TreeView1DblClick(Sender: TObject);
begin
TControl(TreeView1.Selected.Data).Visible := not TControl(TreeView1.Selected.Data).Visible;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
BuildTree(nil, Self);
end;


yaJohn   (2002-01-23 17:12:00) [2]

Node.Data:=Node;
Node.Data:=nil;
Node.Data:=self;
Node.Data:=pointer(pochti vse chto ugodno);
:)))))))))


Наверх

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