Компонент 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.