|
|
|
|
Наступает при сравнении двух узлов при сортировке дерева.
Синтаксис
| function OnCompare(
| | Sender, | | Node1, | | Node2, | | Data, | | Compare
| | );
|
| Параметры
|
| Параметр
| Тип
| Описание
|
| Sender
| TTreeView
| дескриптор компонента TTreeView
|
| Node1
| TTreeNode
| дескриптор 1-го сравниваемого узла
|
| Node2
| TTreeNode
| дескриптор 2-го сравниваемого узла
|
| Data
| Number
| параметр Data собственной функции сортировки
|
| Compare
| TNumber
| результат сравнения узлов Node1 и Node2 (см. ниже)
|
|
| Параметр Compare
|
| Значение
| Описание
|
| <0
| узел 1 меньше узла 2
|
| =0
| узлы равны
|
| >0
| узел 1 больше узла 2
|
|
// Главная форма frm=new TForm(); frm.Caption="JS+ - событие компонента TTreeView OnCompare"; frm.Width =450; frm.Height=300;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=" Обратная сортировка дерева";
// TreeView trv=new TTreeView(frm); trv.BorderStyle=bsSingle; trv.Left=trv.Top=10; trv.Width=frm.ClientWidth-trv.Left*2; trv.Height=stb.Top-trv.Top*2; trv.OnCompare=trv_Compare;
// Заполнение дерева for (i=1;i<=5;i++) { tn1=new TTreeNode(trv); tn1.Text="Узел "+i; for (j=1;j<=i;j++) { tn2=new TTreeNode(tn1); tn2.Text="Узел "+i+"-"+j; } }
trv.SortType=stText; trv.SetFocus(); frm.ShowModal();
// Обработчик события OnCompare function trv_Compare(trv,tn1,tn2,data,Compare) { Compare.Value=-tn1.Text.localeCompare(tn2.Text); }
Примечание
При установке результата сравнения узлов обработчик события должен установить свойство Value параметра Compare.
Совместимость
C++ Builder/Delphi
|
| JS+ | Руководство пользователя
|
|
|
| |
|
|