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

TTreeView

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

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

trvObj=new TTreeView(Parent);

Собственные свойства
Свойство Тип Описание
AutoExpand Boolean автоматически разворачивать узлы при клике
ChangeDelay Number задержка в миллисекундах перед расворачиванием узла
HideSelection Boolean убирать выделение узлов при потере фокуса ввода
HotTrack Boolean дополнительно выделять узлы при прохождении над ними указателя мыши
Images TImageList список изображений перед заголовками узлов
Indent Number отступ от левого края узла до его дочерних узлов
Items TTreeNodes коллекция узлов дерева
MultiSelect Boolean разрешить выбор нескольких узлов
MultiSelectStyle Enum способ выбора нескольких узлов (см. ниже)
ReadOnly Boolean запретить редактирование заголовков узлов
RightClickSelect Boolean разрешить выбор узлов правой кнопкой мыши
RowSelect Boolean разрешить выделение строк выделенных узлов (при установленном свойстве ShowLines)
Selected TTreeNode выделенный узел
ShowButtons Boolean показывать кнопки разворачивания и сворачивания узлов
ShowLines Boolean показывать линии структуры дерева
ShowRoot Boolean показывать линии от корневого узла (при установленном свойстве ShowLines)
SortType Enum тип сортировки узлов (см. ниже)
StateImages TImageList список изображений, отображающих состояние узлов
ToolTips Boolean показывать всплывающие подсказки к узлам
TopItem TTreeNode верхний видимый узел
Только чтение
Canvas TCanvas дескриптор графической канвы
SelectionCount Number количество выделенных узлов
Selections[] TTreeNode индексированный список выделенных узлов

Свойство MultiSelectStyle
msControlSelect с использованием клавиши Control
msShiftSelect с использованием клавиши Shift
msVisibleOnly кроме дочерних нераскрытых узлов
msSiblingOnly узлы только одного уровня

Свойство SortType
Значение Описание
stNone без сортировки
stData сортировка по свойству Data элементов дерева
stText сортировка по свойству Caption элементов дерева
stBoth комбинированная сортировка по свойствам Data и Caption элементов дерева

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

Собственные методы
Метод Описание
AlphaSort сортирует узлы дерева
ClearSelection снимает выделение всех узлов
Deselect снимает выделение указанного узла
FindNextToSelect возвращает следующий выделенный узел
FullCollapse сворачивает все узлы дерева
FullExpand разворачивает все узлы дерева
GetHitTestInfoAt возвращает информацию о точке в клиентской области компонента
GetNodeAt возвращает узел в указанной позиции
IsEditing сообщает, был ли заголовок какого-либо узла изменен пользователем
LoadFromFile загружает дерево из указанного файла
LoadFromString загружает дерево из указанной строки
SaveToFile сохраняет дерево в указанном файле
SaveToString сохраняет дерево в возвращаемую строку
Subselect переключает выделение указанного узла

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

Собственные события
Событие Описание
OnAddition добавлен новый узел
OnAdvancedCustomDraw требуется поэтапная отрисовка дерева
OnAdvancedCustomDrawItem требуется поэтапная отрисовка узла
OnCancelEdit пользователь отменил переименование узла
OnChange изменился выбранный узел
OnChanging будет изменен выбранный узел
OnCollapsed узел был свернут
OnCollapsing узел будет свернут
OnCompare необходимо сравнить два узла
OnCustomDraw дерево будет перерисовано
OnCustomDrawItem узел будет перерисован
OnDeletion узел удален
OnEdited пользователь переименовал узел
OnEditing пользователь переименовывает узел
OnExpanded узел был развернут
OnExpanding узел будет развернут
OnGetImageIndex необходимо указать индекс значка узла
OnGetSelectedIndex необходимо указать индекс значка выбранного узла

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

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

// Строка состояния
stb=new TStatusBar(frm);

// TreeView
trv=new TTreeView(frm);
trv.ShowRoot=false;
trv.BorderStyle=bsSingle;
trv.SetBounds(10,10,150,stb.Top-20);
trv.OnChange=trv_Change;
trv.OnGetImageIndex=trv_GetImageIndex;
trv.OnGetSelectedIndex=trv_GetSelectedIndex;

// Список изображений
trv.Images=new TImageList(trv);
icn=new TIcon();
for (i=0;i<3;i++) {
  icn.LoadFromFile(JSPlus.HelpDir+"IMAGE\\TTreeView\\"+i+".ico");
  trv.Images.AddIcon(icn);
}
icn.Delete();

// Заполнение дерева
trv.LoadFromString(
"Узел 1\n"+
" Узел 1-1\n"+
"Узел 2\n"+
" Узел 2-1\n"+
" Узел 2-2\n"+
"Узел 3\n"+
" Узел 3-1\n"+
" Узел 3-2\n"+
" Узел 3-3"
);

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

trv.SetFocus();
frm.ShowModal();

// Обработчик события OnChange
function trv_Change(trv,trn)
{
  stb.SimpleText=" Выбран "+(pnl.Caption=trn.Text);
}

// Обработчик события OnGetImageIndex
function trv_GetImageIndex(trv,trn)
{
  if (trn.HasChildren) {
    trn.ImageIndex=(trn.Expanded) ? 1 : 0;
    return;
  }
  trn.ImageIndex=2;
}

// Обработчик события OnGetSelectedIndex
function trv_GetSelectedIndex(trv,trn)
{
  trn.SelectedIndex=trn.ImageIndex;
}
Совместимость
C++ Builder/Delphi
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/TTreeView.htm
© 2024,