Компонент VirtualTree

Компонент VirtualTree призначений для відображення деревовидних даних на користувальницької формі. У дизайнера вікон розміщений на вкладці За умовчанням.

Функції

Функції створення структури дерева

  • procedure AddNode (ID: Int64; ParentID: Int64; Text: String)

Додає гілку з ім'ям Text в дерево, ID якій повинно бути унікальним.

ParentID - ID гілки, в яку буде додаватися нова гілка.

  • procedure AddColumn (Name: String)

Додає у дерево нову колонку з ім'ям Name. Текст в гілках нової колонки встановлюється з першої колонки відповідної гілки.

Функції заповнення дерева

  • procedure SetText (NodeID: Int64; ColumnIndex: Int64; Text: String)

Встановлює текст Text в осередку гілки з номером NodeID і колонки з номером ColumnIndex (нумерація починається з 0).

  • procedure SetColumnName (ColumnIndex: Integer; Name: String)

Встановлює ім'я Name колонки з номером ColumnIndex.

  • procedure SetNodeCheck (ID: Int 64; Checked: Boolean)
  • Встановлює або знімає позначку з гілки з номером ID.

Функції навігації по дереву

  • procedure SetFocusedNode (ID: Int64)

Встановлює курсор на гілці з номером ID, при цьому фокус колонки не змінюється.

  • procedure SetFocusedColumn (ColumnIndex: Integer)

Встановлює курсор на колонці з номером ColumnIndex, при цьому фокус гілки не змінюється.

  • procedure ExpandNode (ID: Int64)
  • Розкриває гілку з номером ID.
  • procedure CollapsNode (ID: Int64)
  • Згортає гілку з номером ID.
  • procedure ExpandAll ()
  • Розкриває всі гілки.
  • procedure CollapsAll () ()
  • Згортає всі гілки.

Функції зворотного зв'язку з деревом

  • function GetText (NodeID: Int 64; ColumnIndex: Int 64): String
  • Повертає текст в осередку, яка розміщена в гілці з номером NodeID і колонці з номером ColumnIndex.
  • function GetFocusedText(): String
  • Повертає текст у виділеній комірці.
  • function GetSelectedNodeID (): Int64
  • Повертає номер гілки, на якій знаходиться курсор.
  • function GetSelectedColumnIndex (): Int64
  • Повертає номер колонки, на якій знаходиться курсор.
  • function GetNodeCheck (ID: Int64): Boolean
  • Повертає true або false, що відображають відзначена чи гілка дерева.
  • function GetNodeParentID (ID: Int 64): Int 64
  • Повертає ID батька гілки з номером ID.

Функції циклічного перебору структури дерева

  • function GetFirstNodeID(): Int64
  • Повертає ID першої гілки.
  • function GetNextNodeID (ID: Int 64): Int 64
  • Повертає ID наступної за переданої в параметрі функції гілки.
  • function GetNodeCount (): Int64
  • Повертає кількість гілок в дереві.
  • function GetColumnCount (): In t64
  • Повертає кількість колонок в дереві.

Код : програми:

  • Заповнення дерева:

procedure Button1OnClick (Sender: TISPROComponent);

var

i: Int64;

begin

VirtualTree1.AddNode (1,0, '1');

VirtualTree1.AddNode (2,1, '11 ');

VirtualTree1.AddNode (11,0, '2');

VirtualTree1.AddNode (12,2, '111');

VirtualTree1.AddNode (17,2, '112');

VirtualTree1.AddNode (18,11, '21 ');

VirtualTree1.AddColumn ( 'col');

end;

  • Встановити тест в певній клітинці:

procedure Button2OnClick (Sender: TISPROComponent);

begin

VirtualTree1.SetText (2,1, 'dcdvdv');

end;

  • Встановити фокус в вибраній комірці:

procedure Button5OnClick (Sender: TISPROComponent);

begin

VirtualTree1.SetFocusedColumn (1);

VirtualTree1.SetFocusedNode (11);

end;

  • Отримати текст комірки:

procedure Button6OnClick (Sender: TISPROComponent);

begin

ShowMessage (VirtualTree1.GetText (2, 1));

end;