|
|
Наступает перед отрисовкой узла.
Синтаксис
function OnCustomDrawItem(
| Sender, | Node, | State, | DefDraw
| );
|
Параметры
|
Параметр
| Тип
| Описание
|
Sender
| TTreeView
| дескриптор компонента TTreeView
|
Node
| TTreeNode
| дескриптор узла
|
State
| Enumset
| состояние узла (см. ниже)
|
DefDraw
| TBoolean
| разрешить дальнейшую отрисовку по умолчанию. DefDraw.Value=true - разрешить (значение по умолчанию)
|
|
Параметр State
|
Значение
| Описание
|
cdsSelected
| узел выделен
|
cdsDefault
| узел является элементом по умолчанию
|
cdsDisabled
| узел недоступен
|
cdsFocused
| узел имеет фокус ввода
|
cdsGrayed
| узел неактивен
|
cdsHot
| узел находится под указателем мыши
|
cdsIndeterminate
| узел находится в неопределенном состоянии
|
cdsMarked
| узел отмечен
|
|
// Главная форма frm=new TForm(); frm.Caption="JS+ - событие TTreeView OnCustomDrawItem"; frm.Width =450; frm.Height=300;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText=" Оформление узлов в стиле web-ссылок";
// 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.OnCustomDrawItem=trv_CustomDrawItem;
// Заполнение дерева 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.SetFocus(); frm.ShowModal();
// Обработчик события OnCustomDrawItem function trv_CustomDrawItem(trv,trn,state,DefDraw) { var cnv=trv.Canvas,rct=trn.DisplayRect(true);
cnv.Font.Name=trv.Font.Name; cnv.Font.Size=trv.Font.Size; DefDraw.Value=true;
// Если узел выбран if (state & cdsSelected) return;
// Очистить фон cnv.Brush.Style=bsSolid; cnv.Brush.Color=trv.Color; cnv.FillRect(rct);
// Вывести текст cnv.Font.Color=clBlue; cnv.Font.Style=fsUnderline; cnv.SetBkMode(TRANSPARENT); cnv.TextOut( rct.Left+(rct.Width() -cnv.TextWidth (trn.Text))/2+1, rct.Top +(rct.Height()-cnv.TextHeight(trn.Text))/2-1, trn.Text ); }
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|