JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

TOutline

- визуальный компонент
Компоненты JS+
Определяет дерево узлов для отображения иерархических структур данных.

Создание объекта

otlObj=new TOutline(Parent);

Собственные свойства
Свойство Тип Описание
DefaultRowHeight Number высота строки по умолчанию
EditorMode Boolean разрешить редактирование узлов
ItemHeight Number исходная высота узла дерева
ItemSeparator String разделитель имен узлов в свойстве узла FullPath
Lines TStrings список строк дерева
Options Enumset стиль отображения узлов дерева (см. ниже)
OutlineStyle Enum стиль отображения дерева (см. ниже)
PictureClosed TBitmap изображение, используемое для значка свернутого узла
PictureLeaf TBitmap изображение, используемое для значка узла, не имеющего потомков
PictureMinus TBitmap изображение, используемое для значка развернутого узла
PictureOpen TBitmap изображение, используемое для значка развернутого узла
PicturePlus TBitmap изображение, используемое для значка свернутого узла
Row Number номер строки выделенного узла
ScrollBars Enum отображение полос прокрутки (см. ниже)
SelectedItem Number индекс выделенного узла в списке Items
Style Enum способ отрисовки дерева и его узлов (см. ниже)
TopRow Number номер верхней видимой строки
Только чтение
Canvas TCanvas дескриптор графической канвы
GridHeight Number текущая высота дерева, px
GridWidth Number текущая ширина дерева, px
HitTest TPoint текущие координаты указателя мыши
ItemCount Number полное количество узлов в дереве
Items[] TOutlineNode индексированный список узлов (начиная с 1)
RowCount Number текущее количество строк
VisibleRowCount Number количество строк дерева с видимыми узлами

Свойство Options
Значение Описание
ooDrawFocusRect выделять точечной рамкой узел, находящийся в фокусе ввода
ooDrawTreeRoot отображать линии, соединяющие узлы верхнего уровня (только для стилей отображения дерева osTreeText и osTreePictureText)
ooStretchBitmaps автоматически масштабировать значки узла в соответствии с размером применяемого шрифта

Свойство OutlineStyle
Значение Описание
osText только текст
osPlusMinusText текст и значки PicturePlus, PictureMinus в зависимости от состояния узла
osPictureText текст и значки PictureOpen, PictureClosed, PictureLeaf в зависимости от состояния узла
osPlusMinusPictureText объединение стилей osPlusMinusText и osPictureText
osTreeText текст и линии, связывающие родительские и дочерние узлы
osTreePictureText объединение стилей osTreeText и osPictureText (стиль по умолчанию)

Свойство Style
Значение Описание
otStandard автоматическая отрисовка
otOwnerDraw программная отрисовка (по событию OnDrawItem)

Свойство ScrollBars
Значение Описание
ssNone нет полос прокрутки
ssHorizontal горизонтальная полоса прокрутки
ssVertical вертикальная полоса прокрутки
ssBoth обе полосы прокрутки

Стандартные свойства

Собственные методы
Метод Описание
Add добавляет к дереву новый узел
AddChild добавляет к узлу дерева новый дочерний узел
BeginUpdate выключает переиндексацию дерева
Clear удаляет все узлы дерева
Delete удаляет указанный узел дерева и его дочерние узлы
EndUpdate включает переиндексацию дерева
FullCollapse сворачивает все узлы дерева
FullExpand разворачивает все узлы дерева
GetItem возвращает индекс узла с указанными координатами
GetNodeDisplayWidth возвращает ширину строки с указанным узлом
GetTextItem возвращает индекс первого узла с указанным именем
GetVisibleNode возвращает узел в указанной строке
Insert вставляет новый узел перед указанным
LoadFromFile загружает дерево из указанного файла
LoadFromString загружает дерево из указанной строки
SaveToFile сохраняет дерево в указанном файле
SaveToString сохраняет дерево в возвращаемую строку
SetUpdateState блокирует или разблокирует переиндексацию дерева

Стандартные методы

Собственные события
Событие Описание
OnCollapse свернут узел дерева
OnDrawItem происходит отрисовка узла с указанным индексом
OnExpand развернут узел дерева

Стандартные события

Пример (JS+)
// Главная форма
frm=new TForm();
frm.Caption="JS+ - визуальный компонент TOutline";
frm.Width =525;
frm.Height=375;

// Строка состояния
stb=new TStatusBar(frm);
stb.SimpleText=" Выбирайте узлы дерева";

// Панель под деревом
pol=new TPanel(frm);
pol.BorderStyle=bsSingle;
pol.Left=pol.Top=10;
pol.Height=stb.Top-20;

// Дерево узлов
otl=new TOutline(pol);
otl.Left=otl.Top=5;
otl.OnClick=otl_Click;

// Заполнение дерева
for (i=1;i<=3;i++) {
  on1=new TOutlineNode(otl);
  on1.Text="Узел "+i;
  for (j=1;j<=i;j++) {
    on2=new TOutlineNode(on1);
    on2.Text="Узел "+i+"-"+j;
  }
}

otl.FullExpand();
otl.ClientWidth =otl.GridWidth;
otl.ClientHeight=otl.GridHeight;
pol.ClientWidth =otl.Width+otl.Left*2;
otl.FullCollapse();

// Правая панель
pnl=new TPanel(frm);
pnl.BorderStyle=bsSingle;
pnl.Left=pol.Left+pol.Width+10;
pnl.Top =pol.Top;
pnl.Width =frm.ClientWidth-pnl.Left-pol.Left;
pnl.Height=pol.Height;
pnl.Color=pol.Color=otl.Color;

otl.SetFocus();
frm.ShowModal();

// Обработчик события OnClick
function otl_Click(otl)
{
  var oln=otl.Items[otl.SelectedItem];

  stb.SimpleText=" Выбран "+(pnl.Caption=oln.Text);
}
Примечание
Изображения, загружаемые в свойства PictureClosed, PictureLeaf, PictureMinus, PictureOpen и PicturePlus, отображаются при установке соответствующих значений свойства OutlineStyle.
Совместимость
C++ Builder/Delphi
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/TOutline.htm
© 2024,