Компонент 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 (): Int64
    • Повертає кількість колонок в дереві.

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

  • Заповнення дерева:
    • 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.