// Главная форма
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);
}