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