Class TTreeView

Иерархические структуры в Delphi (часть 1)

TTreeView

Класс TTreeView представляет собой окно, которое показывает иерархический список любых пунктов: заголовков документов, индексов, файлов на диске.

Иерархия классов:

Tobject->TPersistent->TComponent->TControl->TWinControl->TCustomTreeView->TTreeView

Unit  ComCtrls

Описание

Каждый узел дерева состоит из ярлыка и множества дополнительных изображений типа bitmapped. Каждый узел может иметь список подузлов, связанных с ним. Щелкая левой кнопкой мыши по узлу, пользователь может раскрыть  связанный список подузлов.

clip_image003Свойства TTreeView

Наследует от TCustomTreeView

clip_image005 AutoExpand

clip_image005[1] BorderStyle

clip_image007 Canvas

clip_image005[2] ChangeDelay

DropTarget

clip_image005[3] HideSelection

clip_image005[4] HotTrack

clip_image005[5] Images

clip_image005[6] Indent

clip_image005[7] Items

clip_image005[8] MultiSelect

clip_image005[9] MultiSelectStyle

clip_image005[10] ReadOnly

clip_image005[11] RightClickSelect

clip_image005[12] RowSelect

Selected

clip_image007[1] SelectionCount

clip_image007[2] Selections

clip_image005[13] ShowButtons

clip_image005[14] ShowLines

clip_image005[15] ShowRoot

clip_image005[16] SortType

clip_image005[17] StateImages

clip_image005[18] ToolTips

TopItem

Наследует от TwinControl

clip_image007[3] AlignDisabled

clip_image005[19] BevelEdges

clip_image005[20] BevelInner

clip_image005[21] BevelKind

clip_image005[22] BevelOuter

clip_image005[23] BevelWidth

clip_image005[24] BorderWidth

clip_image007[4] Brush

clip_image007[5] ClientOrigin

clip_image007[6] ClientRect

clip_image007[7] ControlCount

clip_image007[8] Controls

clip_image005[25] Ctl3D

clip_image007[9] DockClientCount

clip_image007[10] DockClients

DoubleBuffered

clip_image007[11] Handle

clip_image005[26] ParentCtl3D

ParentWindow

clip_image007[12] Showing

clip_image005[27] TabOrder

clip_image005[28] TabStop

clip_image007[13] VisibleDockClientCount

Наследует от Tcontrol

clip_image005[29] Action

clip_image005[29] Align

clip_image005[30] Anchors

clip_image005[31] BiDiMode

BoundsRect

ClientHeight

ClientWidth

clip_image005[32] Color

clip_image005[33] Constraints

ControlState

ControlStyle

clip_image005[34] Cursor

DockOrientation

clip_image005[35] DragCursor

clip_image005[36] DragKind

clip_image005[37] Enabled

clip_image007[14] Floating

FloatingDockSiteClass

clip_image005[38] Font

clip_image005[39] Height

clip_image005[40] HelpContext

clip_image005[41] HelpKeyword

clip_image005[42] HelpType

clip_image005[43] Hint

HostDockSite

clip_image005[44] Left

LRDockWidth

clip_image005[45] Name

Parent

clip_image005[46] ParentBiDiMode

clip_image005[47] ParentColor

clip_image005[48] ParentFont

clip_image005[49] ParentShowHint

clip_image005[50] PopupMenu

clip_image005[51] ShowHint

TBDockHeight

clip_image005[52] Top

UndockHeight

UndockWidth

clip_image005[53] Visible

clip_image005[54] Width

WindowProc

Наследует от Tcomponent

  • ComObject

  • ComponentCount

  • ComponentIndex

  • Components

  • ComponentState

  • ComponentStyle

  • DesignInfo

  • Owner

  • Tag

  • VCLComObject

Все свойства, события, методы класс TTreeView наследует от родителя – класса TCustomTreeView.

clip_image009TCustomTreeView

TCustomTreeView является базовым типом для компоненты TTreeView.

Иерархия классов

Tobject->TPersistent->TComponent->TControl->TWinControl->TCustomTreeView

Unit

ComCtrls

Описание

Используйте TCustomTreeView как основной класс при определении деревьев, Большинство свойств, определенных в TCustomTreeView защищены так, чтобы Вы могли их использовать, в собственных компонентах вида дерева.

Не следует использовать в программах класс TCustomTreeView. Необходимо пользоваться либо классом TTreeView, либо создавать своего потомка.

clip_image003[1] AutoExpand property (TCustomTreeView)

Определяет, раскрываются ли и свертываются узлы дерева автоматически.

Синтаксис:

property AutoExpand: Boolean;

Описание

Необходимо установить AutoExpand:=true, чтобы заставить выбранные узлы разворачиваться, а не выбранные – сворачиваться.

clip_image003[2] BorderStyle property (TCustomTreeView)

Определяет, имеет ли компоненты TreeView границы (бордюры).

Синтаксис:

property BorderStyle: TBorderStyle;

Описание

Свойство BorderStyle устанавливает две возможности выбора:

Значение Описание

  • bsNone Нет бордюра
  • bsSingle Бордюр в виде одинарной линии

clip_image003[3] Canvas property (TCustomTreeView)

Обеспечивает доступ к холсту.

Синтаксис:

property Canvas: TCanvas;

Описание

Используют свойство Canvas для рисования через события OnCustomDraw и OnCustomDrawItem.

clip_image003[4] ChangeDelay property (TCustomTreeView)

Определяет задержку между тем, когда узел выбран и когда происходит событие OnChange.

Синтаксис:

property ChangeDelay: Integer;

Описание

Используйте свойство ChangeDelay, чтобы установить задержку в миллисекундах между тем, когда узел выбран и когда происходит событие OnChange.

Установите свойство ChangeDelay на 50 миллисекунд, чтобы подражать поведению дерева, используемого в Windows Проводнике.

clip_image003[5] DropTarget property (TCustomTreeView)

Определяет, какой элемент дерева появляется в результате операции перетаскивания drag and drop.

Синтаксис:

property DropTarget: TTreeNode;

Описание

Указывает узел, который может служить приемником операций Drag&Drop

clip_image003[6] HideSelection property (TCustomTreeView)

Указывает, будет ли убираться выделение узлов, когда компонент теряет фокус ввода

Синтаксис:

property HideSelection: Boolean;

Описание

Если свойство HideSelection:=True, то выделение узла теряется, если HideSelection:=False, то узел будет отображаться выделенным при потере фокуса ввода.

clip_image003[7] HotTrack property (TCustomTreeView)

Определяет, выделяются ли цветом элементы (узлы), над которыми проходит курсор мыши.

Синтаксис:

property HotTrack: Boolean;

Описание

Установка свойства HotTrack:=true означает, что будут выделяться узлы над которыми проходит курсор мыши.

clip_image003[8] Images property (TCustomTreeView)

Определяет, какой список изображений TImageList, связан с деревом.

Синтаксис:

property Images: TCustomImageList;

clip_image003[9] Indent property (TCustomTreeView)

Определяет отступ в пикселях от левого угла узла для всех его подузлов

Синтаксис:

property Indent: Integer;

Пример:

Следующий пример показывает, как обработчик события OnCustomDrawItem рисует элементы (пункты) и строки дерева после того, как обработчик события OnCustomDraw заполнился на заднем плане.

procedure TCustomDrawForm.TVCustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
     NodeRect: TRect;
begin
     with TV.Canvas do
     begin
          // Если DefaultDraw является истинным, любое из свойств шрифта узла, может быть
          // изменено. Обратите внимание также, что, когда DefaultDraw = True, Windows рисует
          // кнопки и игнорирует наши цвета фона шрифта, используя вместо этого
          // цветовые особенности TTreeView.
          if cdsSelected in State then
          begin
                Font.Assign(SelectedFontDialog.Font);
                Brush.Color := SelBkgColorDialog.Color;
          end;
          DefaultDraw := FDefaultDrawItem;
          //DefaultDraw = False означает, что Вы должны обработать весь элемент, рисуя
          //непосредственно кнопки, строки, изображения, и текст.
          if not DefaultDraw then
          begin
                //рисуем прямоугольное выделение
                if cdsSelected in State then
                begin
                      NodeRect := Node.DisplayRect(True);
                      FillRect(NodeRect);
                end;
                NodeRect := Node.DisplayRect(False);
                if None1.Checked then
                // никакой точечный рисунок, не красит цветом фона.
                begin
                      Brush.Color := BkgColorDialog.Color;
                      Brush.Style := FBrushStyle;
                      FillRect(NodeRect)
                end
                else
                   // не красить по фоновому точечному рисунку.
                   Brush.Style := bsClear;
                NodeRect.Left := NodeRect.Left + (Node.Level * TV.Indent);
                //NodeRect.Left теперь представляет крайнюю левую часть развернутой кнопки
                DrawButton(NodeRect, Node);
                NodeRect.Left := NodeRect.Left + TV.Indent + FButtonSize;
                //NodeRect.Left является теперь крайней левой частью изображения}.
                DrawImage(NodeRect, Node.ImageIndex);
                NodeRect.Left := NodeRect.Left + ImageList.Width;
                // Теперь мы наконец имеем возможность тянуть (рисовать) текст.
                TextOut(NodeRect.Left, NodeRect.Top, Node.Text);
       end;
    end;
end;

clip_image003[10] Items property (TCustomTreeView)

Индексированный список узлов дерева

Синтаксис:

property Items: TTreeNodes;

Описание

Индивидуальные узлы дерева – объекты класса TTreeNode. Открывает доступ к любому узлу по его индексу. Индексация начинается с нуля и соответствует просмотру всех узлов полностью раскрытого списка. Например:

MyTreeNode := TreeView1.Items[1];

Обратите внимание: Для оптимальной работы программы, пробуйте проектировать ваше приложение так, чтобы не зависеть от индексов узлов.

Пример

Следующий пример удаляет узел из дерева, когда пользователь нажимает на узле левую кнопку мыши.

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
     HT : THitTests;
begin
      if (CheckBox1.Checked) and (Sender is TTreeView) then
      begin
           with Sender as TTreeView do
           begin
                HT := GetHitTestInfoAt(X,Y);
                if (htOnItem in HT) then Items.Delete(GetNodeAt(X,Y));
           end;
      end;
end;

clip_image003[11] MultiSelect property (TCustomTreeView)

Разрешает/запрещает одновременный выбор нескольких узлов Delphi:

Синтаксис:

property MultiSelect: Boolean;

Описание

Свойство MultiSelect определяет, могут ли выбираться несколько узлов с помощью клавиш Control и Shift. Стиль выбора определяется свойством MultiSelectStyle.

clip_image003[12] MultiSelectStyle property (TCustomTreeView)

Определяет способ выбора нескольких узлов

Синтаксис:

property MultiSelectStyle: TMultiSelectStyle;
type
      TMultiSelectStyles = (msControlSelect, msShiftSelect, msVisibleOnly, msSiblingOnly);
      TMultiSelectStyle = set of TMultiSelectStyles;

Описание

Значение Комментарий

  • msControlSelect с нажатой и удерживаемой клавишей Ctrl для выбора узлов в произвольном порядке;
  • msShiftSelect с нажатой и удерживаемой клавишей Shift для выбора сплошного диапазона;
  • msVisibleOnly подобно msShiftSelect, но в диапазон не включаются дочерние нераскрытые узлы;
  • msSiblingOnly подобно msShiftSelect, но в диапазон включаются только узлы одного уровня.

clip_image003[13] ReadOnly property (TCustomTreeView)

Запрещает/разрешает редактирование надписей в узлах

Синтаксис:

property ReadOnly: Boolean;

Описание

Свойство ReadOnly используется, чтобы определить, может ли пользователь редактировать узлы дерева. Если ReadOnly равен True, пользователь может развернуть и свернуть узлы, но не может редактировать их метки. Если ReadOnly является False, пользователь может также редактировать метки. Значение по умолчанию является False.

clip_image003[14] RightClickSelect property (TCustomTreeView)

Разрешает выбор узлов правой кнопкой мыши

Синтаксис:

property RightClickSelect: Boolean;

Описание

Свойство RightClickSelect используется, чтобы позволить указывать узлы щелчком правой кнопкой мыши. Если RightClickSelect истинен, то узлы выделяются как правой, так и левой кнопкой мыши.

Обратите внимание: RightClickSelect должен быть установлен в True прежде, чем пользователь щелкает правой кнопкой мыши.

clip_image003[15] RowSelect property (TCustomTreeView)

Определяет, выделяется ли полная строка выбранного узла.

Синтаксис:

property RowSelect: Boolean;

Описание

Установка RowSelect в True выделяет полную строку выбранного узла.

Свойство RowSelect игнорируется, если ShowLines равен True.

clip_image003[16] Selected property (TCustomTreeView)

Содержит список всех выбранных узлов или nil, если таких нет

Синтаксис:

property Selected: TTreeNode;

Описание

Когда узел становится выбранным, происходит событие дерева OnChanging и раскрываются дочерние узлы, если они имеются. В этом случае также происходит событие дерева OnExpanded.

Пример

Следующий код использует узел, чтобы добавить метки всех дочерних вершин выбранного узла к списку, когда кнопка нажата.

procedure TForm1.Button1Click(Sender: TObject);
var
     I : Integer;
begin
     for I := 0 to (TreeView1.Selected.Count — 1) do
     ListBox1.Items.Add(TreeView1.Selected.Item[I].Text);
end;

clip_image003[17] SelectionCount property (TCustomTreeView)

Возвращает номер выбранного узла

Синтаксис:

property SelectionCount: Cardinal;

clip_image003[18] Selections property (TCustomTreeView)

Возвращает выделенные узлы.

Синтаксис:

property Selections[Index: Integer]: TTreeNode;

Описание

Selections возвращает один из выбранных узлов. Максимальное значение Индекса — SelectionCount-1. Если выбрано больше чем один узел, Selections[0] — первый выбранный узел. Этот узел — отправная точка для множественных выборов, если свойство MultiSelectStyle установлено в msShiftSelect.

clip_image003[19] ShowButtons property (TCustomTreeView)

Определяет, отображать ли плюс (+) и минус (-) с левой стороны каждого родительского узла.

Синтаксис:

property ShowButtons: Boolean;

Описание

Если ShowButtons установлен в True, +/- появится слева от каждого родительского узла. Пользователь может нажать на +/-, чтобы развернуть или свернуть дочерние узлы как альтернатива двойному нажатию на родительский узел.

clip_image003[20] ShowLines property (TCustomTreeView)

Определяет, отображать ли линии, которые связывают дочерние вершины с их соответствующими родительскими вершинами.

Синтаксис:

property ShowLines: Boolean;

Описание

Если свойство ShowLines установлено в true, то линии, связывающие дочерние и родительские узлы будут отображаться.

clip_image003[21] ShowRoot property (TCustomTreeView)

Определяет, отображаются ли линии, соединяющие узлы верхнего уровня дерева с его корнем.

Синтаксис:

property ShowRoot: Boolean;

Описание

Для отображения линий верхнего уровня с корнем дерева установите свойства ShowRoot и ShowLines в true.

clip_image003[22] SortType property (TCustomTreeView)

Указывает способ сортировки узлов

Синтаксис:

property SortType: TSortType;

Описание

TSortType = (stNone, stData, stText, stBoth);

Значение Комментарий

  • stNone нет сортировки.
  • stData сортировка по данным;
  • stText сортировка по тексту надписей;
  • stBoth сортировка по тексту и по данным.

Для использования этих возможностей сортировки надо написать обработчик события OnCompare.

clip_image003[23] StateImages property (TCustomTreeView)

Список изображений TImageList, используемый для добавления вторых пиктограмм в узлы. Подобные пиктограммы могут служить дополнительной характеристикой отдельных узлов.

Синтаксис:

property StateImages: TCustomImageList;

clip_image003[24] ToolTips property (TCustomTreeView)

Определяет, снабжены ли элементы дерева подсказками.

Синтаксис:

property ToolTips: Boolean;

Описание

Установите ToolTips в true для снабжения элементов дерева подсказками (Help Hints).

Определите текст ToolTip в обработчике события OnHint, используя свойство Hint.

clip_image003[25] TopItem property (TCustomTreeView)

Определяет самый верхний узел, который появляется в дереве.

Синтаксис:

property TopItem: TTreeNode!al(`ttreenode’,3,`TopicNotFound’,`main’);

Описание

Определяет корневой узел.

clip_image003[26] События TTreeView

Наследует от TCustomTreeView

    • OnAddition
    • OnAdvancedCustomDraw
    • OnAdvancedCustomDrawItem
    • OnChange
    • OnChanging
    • OnCollapsed
    • OnCollapsing
    • OnCompare
    • OnCreateNodeClass
    • OnCustomDraw
    • OnCustomDrawItem
    • OnDeletion
    • OnEdited
    • OnEditing
    • OnExpanded
    • OnExpanding
    • OnGetImageIndex
    • OnGetSelectedIndex

Наследует от TwinControl

  • OnEnter
  • OnExit
  • OnKeyDown
  • OnKeyPress
  • OnKeyUp

Наследует от Tcontrol

  • OnClick
  • OnContextPopup
  • OnDblClick
  • OnDragDrop
  • OnDragOver
  • OnEndDock
  • OnEndDrag
  • OnMouseDown
  • OnMouseMove
  • OnMouseUp
  • OnStartDock
  • OnStartDrag

clip_image003[27] OnAddition event (TCustomTreeView)

Происходит, когда новая вершина {узел} добавлена к дереву.

Синтаксис:

property OnAddition: TTVExpandedEvent;

Описание

Событие OnAddition происходит тогда, когда новая вершина (узел) добавлена к дереву.

clip_image003[28] OnAdvancedCustomDraw event (TCustomTreeView)

Происходит в течение закрашивания дерева.

Синтаксис:

property OnAdvancedCustomDraw: TTVAdvancedCustomDrawEvent;

Описание

Создайте обработчик события OnAdvancedCustomDraw, чтобы закрасить нарисованное пользователем дерево. Используйте свойство Canvas как поверхность для рисования дерева.

Чтобы красить индивидуальные элементы (узлы), используйте событие OnAdvancedCustomDrawItem или OnCustomDrawItem.

Замечание: Событие OnAdvancedCustomDraw происходит в нескольких стадиях в течение процесса раскраски. Если Вы только использовали стадию cdPrePaint, более эффективно использовать событие OnCustomDraw.

clip_image003[29] OnAdvancedCustomDrawItem event (TCustomTreeView)

Происходит в дискретных стадиях в течение закрашивания вершин (узлов) дерева.

Синтаксис:

property OnCustomDrawItem: TTVCustomDrawItemEvent;

Описание

Создайте обработчик события OnAdvancedCustomDrawItem, чтобы настроить закрашивание индивидуальных элементов (узлов) в дереве.

Замечание: Событие OnAdvancedCustomDrawItem происходит в нескольких стадиях в течение раскраски. Если Вы только использовали cdPrePaint, более эффективно использовать событие OnCustomDrawItem.

clip_image003[30] OnCancelEdit event (TCustomTreeView)

Происходит когда выполняется редактирование Заголовка вершины (узла).

Синтаксис:

type TTVChangedEvent = procedure(Sender: TObject; Node: TTreeNode) of object;

property OnCancelEdit: TTVChangedEvent;

Описание

Событие OnCancelEdit происходит, когда пользователь отменяет редактирование вершины. Sender — содержит вершину (узел) дерева.

Node – вершина (узел), редактирование которой было отменено.

clip_image003[31] OnChange event (TCustomTreeView)

Происходит всякий раз, когда перемещается выделение от одной вершины (узла) к другой.

Синтаксис:

type TTVChangedEvent = procedure(Sender: TObject; Node: TTreeNode) of object;

property OnChange: TTVChangedEvent;

Описание

Событие OnChange происходит, когда выбранная вершина изменяется. Параметр Sender — содержит выбранные изменения вершины, и параметр Node — недавно выбранная вершина.

Замечание: Событие OnChange не происходит для выбранных вершин с использованием правой кнопки мыши, когда RightClickSelect равен True. Для правой кнопки мыши используйте событие OnMouseUp.

clip_image003[32] OnChanging event (TCustomTreeView)

Событие происходит перед перемещением выделения на другой узел. Обработчик позволяет запретить перемещение.

Синтаксис:

property OnChanging: TTVChangingEvent;

type TTVChangingEvent = procedure(Sender: TObject; Node: TTreeNode; var AllowChange: Boolean) of object;

Описание

Событие OnChanging препятствует выделению перемещаться на некоторые вершины.

Тип TTVChangingEvent указывает на метод, который вызывается, когда выделение собирается переместиться от одной вершины (узла) к другой. Переменная AllowChange, равная False, препятствует выделению переместиться на новую вершину. Параметр Node определяет вершину, которая собирается быть выделенной.

clip_image003[33] OnCollapsed event (TCustomTreeView)

Событие происходит после свертывания узла.

Синтаксис:

property OnCollapsed: TTVExpandedEvent;

Описание

Событие OnCollapsed происходит после свертывания узла. Параметр Node — вершина, дочерние записи которой больше не видимы.

clip_image003[34] OnCollapsing event (TCustomTreeView)

Событие происходит перед свертыванием узла

Синтаксис:

property OnCollapsing: TTVCollapsingEvent;

type TTVCollapsingEvent = procedure(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean) of object;

Описание

Событие TTVCollapsingEvent указывает на метод, который вызывается, когда вершина собирается быть свернутой. Установите параметр AllowCollapse в False, чтобы предотвратить свертывание узла, который определен параметром Node.

clip_image003[35] OnCompare event (TCustomTreeView)

Происходит, когда две вершины (узла) должны быть сравнены в течение сортировки дерева.

Синтаксис:

property OnCompare: TTVCompareEvent;

type TTVCompareEvent = procedure(Sender: TObject; Node1, Node2: TTreeNode; Data: Integer; var Compare: Integer) of object;

Описание

Обработчик события OnCompare используется, чтобы настроить порядок сортировки вершин (узлов) в дереве. Установите параметр Compare меньше 0, если Node1 — меньше чем Node2. Установите параметр Compare 0, если Node1 эквивалентен Node2, и установите параметр Compare больше 0, если Node1 больше чем Node2. Если обработчик события OnCompare создается, то узлы сортируются в алфавитном порядке, по их метках (именам).

clip_image003[36] OnCreateNodeClass event (TCustomTreeView)

Происходит, когда вершина (узел) дерева собирается быть созданной.

Синтаксис:

property OnCreateNodeClass: TTVCreateNodeClassEvent;

type TTVCreateNodeClassEvent = procedure(Sender: TCustomTreeView; var NodeClass: TTreeNodeClass) of object;

Описание

Событие OnCreateNodeClass происходит, когда новая вершина собирается быть созданной.

Sender — дерево, куда собираемся прибавлять новую вершину.

NodeClass возвращает ссылку на класс, чтобы создать новый объект вершины.

clip_image003[37] OnCustomDraw event (TCustomTreeView)

Событие происходит перед прорисовкой дерева. Обработчик может использоваться для нестандартного изображения дерева на канве.

Синтаксис:

property OnCustomDraw: TTVCustomDrawEvent;

clip_image003[38] OnCustomDrawItem event (TCustomTreeView)

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

Синтаксис:

property OnCustomDrawItem: TTVCustomDrawItemEvent;

Следующий пример показывает, как обработчик события OnCustomDrawItem рисует элементы (пункты) и строки дерева после того, как обработчик события OnCustomDraw выполнился на заднем плане.

procedure TCustomDrawForm.TVCustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
     NodeRect: TRect;
begin
      with TV.Canvas do
      begin
            // Если параметр DefaultDraw является True, любое из свойств шрифта узла может быть
            // изменено. Обратите внимание также, что, когда DefaultDraw = True, Windows рисует
            // кнопки и игнорирует наши цвета фона шрифта, используя вместо этого
            // свойство Color собственной канвы (Canvas).
            if cdsSelected in State then
            begin
                  Font.Assign(SelectedFontDialog.Font);
                  Brush.Color := SelBkgColorDialog.Color;
            end;
            DefaultDraw := FDefaultDrawItem;
            //DefaultDraw = False необходимо обработать весь узел
            if not DefaultDraw then
            begin
                 // рисовать выделенный прямоугольник (rect).
                 if cdsSelected in State then
                 begin
                       NodeRect := Node.DisplayRect(True);
                       FillRect(NodeRect);
                 end;
                 NodeRect := Node.DisplayRect(False);
                 if None1.Checked then
                  //никакой точечный рисунок так не красит цветом фона.
                 begin
                       Brush.Color := BkgColorDialog.Color;
                       Brush.Style := FBrushStyle;
                       FillRect(NodeRect)
                 end
                 else
                 // не красьте по фоновому точечному рисунку.
                      Brush.Style := bsClear;
                 NodeRect.Left := NodeRect.Left + (Node.Level * TV.Indent);
                 //NodeRect.Left теперь представляет крайнюю левую часть развернутой кнопки
                 DrawButton(NodeRect, Node);
                 NodeRect.Left := NodeRect.Left + TV.Indent + FButtonSize;
                 // является теперь крайней левой частью изображения.
                 DrawImage(NodeRect, Node.ImageIndex);
                 NodeRect.Left := NodeRect.Left + ImageList.Width;
                 //Теперь мы наконец имеем возможность рисовать текст.
                 TextOut(NodeRect.Left, NodeRect.Top, Node.Text);
           end;
      end;
end;

clip_image003[39] OnDeletion event (TCustomTreeView)

Событие происходит при удалении узла из дерева.

Синтаксис:

property OnDeletion: TTVExpandedEvent;

clip_image003[40] OnEdited event (TCustomTreeView)

Происходит после того, как пользователь редактирует Текстовое свойство вершины (метку).

Синтаксис:

property OnEdited: TTVEditedEvent;

type TTVEditedEvent = procedure(Sender: TObject; Node: TTreeNode; var S: string) of object;

Описание

Создайте обработчик события OnEdited, чтобы реагировать на изменения метки узла. Параметр Node — вершина, метка которой была отредактирована. Параметр S — новое значение Текстового свойства вершины. Метка вершины может быть изменена в обработчике события OnEdited прежде, чем выполнено редактирование пользователем. Это явление может произойти, только если ReadOnly установлено в False.

clip_image003[41] OnEditing event (TCustomTreeView)

Событие происходит, когда пользователь начинает редактировать надпись узла. Обработчик позволяет запретить редактирование.

Синтаксис:

property OnEditing: TTVEditingEvent;

type TTVEditingEvent = procedure(Sender: TObject; Node: TTreeNode; var AllowEdit: Boolean) of object;

Описание

Установите параметр AllowEdit в False, чтобы препятствовать пользователю редактировать вершину, установленную параметром Node. Чтобы запретить редактирование всех вершин дерева, используйте свойство ReadOnly вместо этого.

clip_image003[42] OnExpanded event (TCustomTreeView)

Событие происходит после раскрытия узла.

Синтаксис:

property OnExpanded: TTVExpandedEvent;

clip_image003[43] OnExpanding event (TCustomTreeView)

Событие происходит перед раскрытием узла. Обработчик позволяет запретить раскрытие.

Синтаксис:

property OnExpanding: TTVExpandingEvent;

type TTVExpandingEvent = procedure(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean) of object;

Описание

Обработчик события OnExpanding определяет, может ли вершина быть расширена. Установите параметр AllowExpansion в False, чтобы препятствовать вершине расширяться.

clip_image003[44] OnGetImageIndex event (TCustomTreeView)

Событие происходит, когда отыскивается ImageIndex индекс изображения узла, перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения.

Синтаксис:

property OnGetImageIndex: TTVExpandedEvent;

clip_image003[45] OnGetSelectedIndex event (TCustomTreeView)

Происходит, когда дерево ищет SelectedIndex вершины (узла).

Синтаксис:

property OnGetSelectedIndex: TTVExpandedEvent;

Описание

Обработчик события OnGetSelectedIndex используется, чтобы изменить выбранный индекс изображения вершины (узла).

clip_image003[46]Методы TTreeView

Наследует от TcustomTreeView

    • AlphaSort
    • ClearSelection
    • clip_image011 Create
    • CustomSort
    • Deselect
    • clip_image011[1] Destroy
    • FindNextToSelect
    • FullCollapse
    • FullExpand
    • GetHitTestInfoAt
    • GetNodeAt
    • GetSelections
    • IsEditing
    • LoadFromFile
    • LoadFromStream
    • SaveToFile
    • SaveToStream
    • Select
    • Subselect

Наследует от TwinControl

    • Broadcast
    • CanFocus
    • ContainsControl
    • ControlAtPos
    • clip_image011[2] CreateParented
    • CreateParentedControl
    • DefaultHandler
    • DisableAlign
    • DockDrop
    • EnableAlign
    • FindChildControl
    • FlipChildren
    • Focused
    • GetTabOrderList
    • HandleAllocated
    • HandleNeeded
    • InsertControl
    • Invalidate
    • PaintTo
    • Realign
    • RemoveControl
    • Repaint
    • ScaleBy
    • ScrollBy
    • SetBounds
    • SetFocus
    • Update
    • UpdateControlState

Наследует от Tcontrol

  • BeginDrag
  • BringToFront
  • ClientToParent
  • ClientToScreen
  • Dock
  • DragDrop
  • Dragging
  • DrawTextBiDiModeFlags
  • DrawTextBiDiModeFlagsReadingOnly
  • EndDrag
  • GetControlsAlignment
  • GetParentComponent
  • GetTextBuf
  • GetTextLen
  • HasParent
  • Hide
  • InitiateAction
  • IsRightToLeft
  • ManualDock
  • ManualFloat
  • MouseWheelHandler
  • ParentToClient
  • Perform
  • Refresh
  • ReplaceDockedControl
  • ScreenToClient
  • SendToBack
  • SetTextBuf
  • Show
  • UseRightToLeftAlignment
  • UseRightToLeftReading
  • UseRightToLeftScrollBar

Наследует от TComponent

    • BeforeDestruction
    • DestroyComponents
    • Destroying
    • ExecuteAction
    • FindComponent
    • FreeNotification
    • FreeOnRelease
    • GetNamePath
    • InsertComponent
    • IsImplementorOf
    • ReferenceInterface
    • RemoveComponent
    • RemoveFreeNotification
    • SafeCallException
    • SetSubComponent
    • UpdateAction

Наследует от Tpersistent

    • Assign

Наследует от Tobject

  • AfterConstruction
  • ClassInfo
  • ClassName
  • ClassNameIs
  • ClassParent
  • ClassType
  • CleanupInstance
  • Dispatch
  • FieldAddress
  • Free
  • FreeInstance
  • GetInterface
  • GetInterfaceEntry
  • GetInterfaceTable
  • InheritsFrom
  • InitInstance
  • InstanceSize
  • MethodAddress
  • MethodName
  • NewInstance

clip_image003[47] AlphaSort method (TCustomTreeView)

Сортирует узлы дерева.

Синтаксис:

function AlphaSort([ARecurse: Boolean]): Boolean;

Описание

Функция AlphaSort вызывает сортировку вершин или пересортировку. Если обработчик события OnCompare определен, то подпрограмма определяет порядок сортировки.

В противном случае вершины сортируются по заголовкам (надписям) с учетом регистра.

Дополнительный параметр ARecurse (заданн по умолчанию True) определяет, что сортировка дерева должна выполняться рекурсивно и сортироваться должно каждое поддерево в свою очередь.

Чтобы сортировать поддерево, используйте метод AlphaSort в TTreeNodes.

clip_image003[48] CanChange method (TCustomTreeView)

Метод обработки события OnChanging для изменения узла.

Синтасис:

function CanChange(Node: TTreeNode): Boolean; dynamic;

Описание

CanChange вызывается автоматически всякий раз, когда делается попытка изменения выбранной вершины. Параметр Node указывает на выбранную вершину. CanChange возвращает истину, если выбор может перейти от установленной вершины, ложь иначе.

Если нет никакого обработчика события OnChanging, CanChange возвращает истину.

clip_image003[49] CanCollapse method (TCustomTreeView)

Диспетчер события свертывания узлов.

Синтаксис:

function CanCollapse(Node: TTreeNode): Boolean; dynamic;

Описание

Метод CanCollapse вызывается автоматически всякий раз, когда делается попытка свертывания вершин, в установленном параметром Node узле. CanCollapse возвращает истину, если вершина (узел) может быть свернута, иначе ложь.

Если нет никакого обработчика события OnCollapsing, CanCollapse возвращает истину.

clip_image003[50] CanEdit method (TCustomTreeView)

Диспетчер события редактирования узлов.

Синтаксис:

function CanEdit(Node: TTreeNode): Boolean; dynamic;

Описание

Метод CanEdit вызывается автоматически всякий раз, когда делается попытка редактировать вершину (узел), установленную параметром Node. Метод CanEdit возвращает истину, если пользователь может редактировать вершину, иначе ложь.

Если нет никакого обработчика события OnEditing, CanEdit возвращает истину.

clip_image003[51] CanExpand method (TCustomTreeView)

Диспетчер развертывания вершин.

Синтаксис:

function CanExpand(Node: TTreeNode): Boolean; dynamic;

Описание

Метод CanExpand вызывается автоматически всякий раз, когда делается попытка разворачивать вершину (узел), установленную параметром Node. Метод CanExpand возвращает истину, если вершина может быть расширена, иначе ложь.

Если нет никакого обработчика события OnExpanding, CanExpand возвращает истину.

clip_image003[52] Change method (TCustomTreeView)

Диспетчер события изменения вершины.

Синтаксис:

procedure Change(Node: TTreeNode); dynamic;

Описание

Метод Change вызывается автоматически всякий раз, когда выбранная вершина (узел) изменяется. Параметр Node указывает на выбранную вершину.

clip_image003[53] ClearSelection method (TCustomTreeView)

Удаляет все выбранные вершины (узлы).

Синтаксис:

procedure ClearSelection(KeepPrimary: Boolean = False); virtual;

Описание

Метод ClearSelection удаляет все выбранные вершины. Если параметр KeepPrimary равен True, выделение (в первом элементе свойства Selection) не переключается.

clip_image003[54] Collapse method (TCustomTreeView)

Диспетчер события свертывания вершин.

Синтаксис:

procedure Collapse(Node: TTreeNode); dynamic;

Описание

Свертывание узлов вызывается автоматически после узла, указанного параметром Node.

clip_image003[55] Create constructor (TCustomTreeView)

Создает экземпляр класса TTreeView.

Синтаксис:

constructor Create(AOwner: TComponent);

clip_image003[56] CreateNode method (TCustomTreeView)

Создает новый узел TTreeNode дерева TTreeNodes.

Синтаксис:

function CreateNode: TTreeNode; virtual;

Описание

Не вызывайте CreateNode в коде прикладной программы. Объект TTreeNodes использует этот метод при выполнении методов Add, AddFirst, AddChild, AddChildFirst, AddObject, AddObjectFirst, AddChildObject, и AddChildObjectFirst. Чтобы создавать новый узел для дерева, используйте один из этих перечисленных методов вместо функции CreateNode. Эти методы гарантируют, что узел будет вставлен должным образом, и его свойства отражают его позицию в дереве.

clip_image003[57] CreateParams method (TCustomTreeView)

Инициализирует структуру данных параметров создания окна.

Синтаксис:

procedure CreateParams(var Params: TCreateParams); override;

Описание

Метод CreateWnd вызывает метод CreateParams, чтобы инициализировать параметры, которые передаются к CreateWindowHandle.

clip_image003[58] CreateWnd method (TCustomTreeView)

Создает окно, используемое деревом TTreeView.

Синтаксис:

procedure CreateWnd; override;

Описание

Метод CreateWnd вызывается автоматически, когда дерево создано или когда окно должно быть разрушено и обновлено, чтобы отразить изменения.

clip_image003[59] CustomDraw method (TCustomTreeView)

Генерирует события OnCustomDraw или OnAdvancedCustomDraw

Синтаксис:

function CustomDraw(const ARect: TRect; Stage: TCustomDrawStage):boolean; virtual;

Описание

Метод CustomDraw вызывается автоматически в процессе закрашивания.

ARect — границы дерева в координатах свойств Canvas.

Stage — текущая стадия процесса закрашивания.

Метод CustomDraw возвращает истину, если дерево продолжает процесс закрашивания, и ложь, если метод полностью выполнил закрашивание дерева.

clip_image003[60] CustomDrawItem method (TCustomTreeView)

Генерирует события OnCustomDrawItem или OnAdvancedCustomDrawItem.

Синтаксис:

function CustomDrawItem(Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage; var PaintImages: Boolean): Boolean; virtual;

Описание

Метод CustomDrawItem вызывается автоматически в дискретных стадиях в течение закрашивания узлов дерева. Node – узел, который собирается быть окрашенным.

State — текущее состояние узла: один или больше cdsSelected, cdsGrayed, cdsDisabled, cdsChecked, cdsFocused, cdsDefault, cdsHot, cdsMarked, cdsIndeterminate.

Stage — текущая стадия процесса закрашивания.

Переменная PaintImages возвращает значение, которое указывает, можно ли изображение дерева еще красить, связанное с текущим узлом. Это значение только тогда значимо, когда Stage — csPrePaint.

Метод CustomDrawItem возвращает True, если дерево можно красить и False, в противном случае.

clip_image003[61] CustomSort method (TCustomTreeView)

Сортирует узлы дерева в соответствии с настроенным порядком сортировки.

Синтаксис:

function CustomSort(SortProc: TTVCompare; Data: Longint; ARecurse: Boolean = True): Boolean;

type TTVCompare = function(lParam1, lParam2, lParamSort: Longint): Integer; stdcall;

Описание

Метод CustomSort вызывает сортировку узла или обращается к использованию подпрограммы сравнения, обозначенной параметром SortProc. Параметр Data передает данные подпрограмме сравнения. Дополнительный параметр ARecurse (заданная по умолчанию True) определяет, что сортировка должна проводиться рекурсивно и сортироваться каждое поддерево в свою очередь.

Если SortProc является нулевым (Delphi), используется заданная по умолчанию подпрограмма сравнения. Заданная по умолчанию подпрограмма использует обработчик события OnCompare, если он определен, в противном случае используется заданная по умолчанию подпрограмма сравнения, которая с учетом регистра сравнивает заголовки узлов.

В подпрограмме сравнения, lParam1 и lParam2 параметры относятся к двум узлам TTreeNode. Возвращаемое значение подпрограммы сравнения указывает относительный порядок сортировки IParam1 и IParam2:

Возвращаемое значение

< 0 IParam1 предшествует IParam2

0 IParam1 и IParam2 эквивалентны

> 0 IParam2 предшествует IParam1

Для сортировки поддерева, необходимо вызвать метод CustomSort.

Пример:

Этот пример показывает, как использовать метод CustomSort в дереве, узлы сортируются в алфавитном порядке без учета регистра (или вперед или назад). Приложение должно обеспечить функцию повторного вызова типа CompareFunc, которая вызывает глобальную функцию AnsiStrIComp, чтобы исполнить фактическое сравнение.

function CustomSortProc(Node1, Node2: TTreeNode; Data: Integer): Integer; stdcall;
begin
       Result := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));
end;

clip_image003[62] Delete method (TCustomTreeView)

Генерирует событие OnDeletion.

Синтаксис:

procedure Delete(Node: TTreeNode); dynamic;

Описание

Delete вызывается автоматически прежде, чем узел, указанный параметром Node будет удален.

clip_image003[63] Deselect method (TCustomTreeView)

Снимает выделение с указанного узла.

Синтаксис:

procedure Deselect(Node: TTreeNode); virtual;

Описание

Метод Deselect удаляет выделение узла. Этот метод не эффективен, когда MultiSelect равно true и MultiSelectStyle содержит msControlSelect.

clip_image003[64] Destroy destructor (TCustomTreeView)

Разрушает дерево.

Синтаксис:

destructor Destroy; override;

Описание

Не вызывайте метод Destroy непосредственно. Для разрушения рекомендуется использовать метод Free.

clip_image003[65] DestroyWnd method (TCustomTreeView)

Разрушает окно управления.

Синтаксис:

procedure DestroyWnd; override;

Описание

Метод DestroyWnd вызывается, когда дерево необходимо обновить в окне. Прежде, чем окно разрушено, DestroyWnd сохраняет информацию об элементах дерева в запоминающем устройстве, освобождает любые контексты устройства, и, наконец, вызывает метод DestroyWindowHandle. Когда окно обновлено, сохраненные элементы добавляются к новому окну.

clip_image003[66] DoEndDrag method (TCustomTreeView)

Диспетчер события конца перетаскивания узлов дерева.

Синтаксис:

procedure DoEndDrag(Target: TObject; X, Y: Integer); override;

Описание

Метод DoEndDrag вызывается автоматически когда пользователь перемещает дерево или один из его пунктов.

clip_image003[67] DoStartDrag method (TCustomTreeView)

Диспетчер события начала перетаскивания узла.

Синтаксис:

procedure DoStartDrag(DragObject: TDragObject); override;

Описание

Метод DoStartDrag вызывается автоматически.

clip_image003[68] Edit method (TCustomTreeView)

Диспетчер события редактирования.

Синтаксис:

procedure Edit(const Item: TTVItem); dynamic;

Описание

Метод Edit вызывается автоматически.

clip_image003[69] Expand method (TCustomTreeView)

Диспетчер события развертывания узла.

Синтаксис:

procedure Expand(Node: TTreeNode); dynamic;

Описание

Метод Expand вызывается автоматически.

clip_image003[70] FindNextToSelect method (TCustomTreeView)

Возвращает следующий выбираемый узел.

Синтаксис:

function FindNextToSelect: TTreeNode; virtual;

Описание

Начиная с выделенного узла, метод FindNextToSelect ищет следующий выбранный узел, с предпочтением элементам одного уровня. Если Выбранный узел и все его элементы одного уровня выбраны, поиск продолжает к родительской вершине и его элементам одного уровня, и так далее по дереву. Если верхний уровень достигнут, не найдя выделенных узлов, возвращается ноль.

clip_image003[71] FullCollapse method (TCustomTreeView)

Свертывает все узлы дерева.

Синтаксис:

procedure FullCollapse;

clip_image003[72] FullExpand method (TCustomTreeView)

Раскрывает все узлы дерева.

Синтаксис:

procedure FullExpand;

Описание

Метод FullExpand раскрывает все узлы дерева. Если ShowButtons равен True, все кнопки изменятся от ‘+’ до ‘-‘.

clip_image003[73] GetDragImages method (TCustomTreeView)

Возвращается список изображений, который будет отображен в течение операции перетаскивания.

Синтаксис:

function GetDragImages: TDragImageList; override;

Описание

Метод GetDragImages вызывается автоматически в течение операции перетаскивания, чтобы позволить дереву. Если узел (а не полное дерево) перемещают, метод GetDragImages возвращает изображение для узла, которое было сгенерировано методом DoStartDrag.

clip_image003[74] GetHitTestInfoAt method (TCustomTreeView)

Возвращает информацию о позиции точки относительно клиентской области данного узла.

Синтаксис:

function GetHitTestInfoAt(X, Y: Integer): THitTests;

Описание

Метод GetHitTestInfoAt вызывается, чтобы определить, какая часть дерева, если таковые вообще имеются, находится в месте, указанном параметрами X и Y. Метод GetHitTestInfo возвращает тип THitTests. Этот набор описывает возможные узлы дерева под мышью.

Пример

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
     MyHitTest : THitTests;
begin
     MyHitTest := TreeView1.GetHitTestInfoAt(X,Y);
     if htNowhere in MyHitTest then ListBox1.Items.Add(‘NoWhere’);
     if htOnItem in MyHitTest then ListBox1.Items.Add(‘OnItem’);
     if htOnButton in MyHitTest then ListBox1.Items.Add(‘OnButton’);
     if htOnIndent in MyHitTest then ListBox1.Items.Add(‘OnIndent’);
     if htOnLabel in MyHitTest then ListBox1.Items.Add(‘OnLabel’);
     if htOnRight in MyHitTest then ListBox1.Items.Add(‘OnRight’);
end;

clip_image003[75] GetImageIndex method (TCustomTreeView)

Получить индекс изображения (ImageIndex).

Синтаксис:

procedure GetImageIndex(Node: TTreeNode); virtual;

Описание

Вызовите GetImageIndex, чтобы установить индекс изображения дерева. Метод GetImageIndex как определено в TCustomTreeView не вызывает обработчик события OnGetImageIndex, если он не назначен. Потомки могут отменить GetImageIndex.

clip_image003[76] GetNodeAt method (TCustomTreeView)

Возвращает узел, который найден в указанной позиции.

Синтаксис:

function GetNodeAt(X, Y: Integer): TTreeNode;

Описание

Вызовите метод GetNodeAt, чтобы обратиться к узлу в позиции, указанной параметрами X и Y. Параметры X и Y определяют позицию в пикселах относительно левого верхнего угла дерева. Если нет никакого узла в местоположении, GetNodeAt возвращает ноль.

Пример

Следующий код использует метод GetNodeAt, чтобы перетащить узел.

procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
      AnItem: TTreeNode;
      AttachMode: TNodeAttachMode;
      HT: THitTests;
begin
      if TreeView1.Selected = nil then Exit;
      HT := TreeView1.GetHitTestInfoAt(X, Y);
      AnItem := TreeView1.GetNodeAt(X, Y);
      if (HT — [htOnItem, htOnIcon, htNowhere, htOnIndent] <> HT) then
      begin
           if (htOnItem in HT) or (htOnIcon in HT) then AttachMode := naAddChild
           else if htNowhere in HT then AttachMode := naAdd
           else if htOnIndent in HT then AttachMode := naInsert;
           TreeView1.Selected.MoveTo(AnItem, AttachMode);
      end;
end;

clip_image003[77] GetSelectedIndex method (TCustomTreeView)

Получает индекс выделенного узла SelectedIndex.

Синтаксис:

procedure GetSelectedIndex(Node: TTreeNode); virtual;

Описание

Вызовите метод GetSelectedIndex, чтобы установить индекс изображения выделенного узла дерева. Метод GetSelectedIndex вызывает обработчик события OnGetSelectedIndex, если он назначен. Потомки могут отменить GetSelectedIndex.

clip_image003[78] GetSelections method (TCustomTreeView)

Возвращает список выделенных узлов дерева.

Синтаксис:

function GetSelections(AList: TList): TTreeNode;

Описание

Метод GetSelections очищает список AList и копирует в него все выбранные узлы. Возвращаемое значение — выбранный узел.

clip_image003[79] IsCustomDrawn method (TCustomTreeView)

Определяет, когда необходимо генерировать событие рисования.

Синтаксис:

function IsCustomDrawn(Target: TCustomDrawTarget; Stage: TCustomDrawStage): Boolean; virtual;

Описание

Класс TCustomTreeView с помощью метода IsCustomDrawn решает, когда генерировать события рисования: OnCustomDraw, OnAdvancedCustomDraw, OnCustomDrawItem, или OnAdvancedCustomDrawItem. Метод IsCustomDrawn возвращает True, когда дерево должно генерировать событие.

clip_image003[80] IsEditing method (TCustomTreeView)

Указывает, редактируется ли вершина (узел) в настоящее время пользователем.

Синтаксис:

function IsEditing: Boolean;

Описание

Метод IsEditing возвращает True, если любая вершина в дереве редактируется.

clip_image003[81] Loaded method (TCustomTreeView)

Инициализирует дерево после того, как оно загружено из потока.

Синтаксис:

procedure Loaded; override;

Описание

Не вызывайте метод Loaded.

clip_image003[82] LoadFromFile method (TCustomTreeView)

Читает дерево из файла, указанного в параметре FileName.

Синтаксис:

procedure LoadFromFile(const FileName: string);

Описание

Используйте метод LoadFromFile для загрузки дерева из файла. Имя файла должно ссылаться на файл, который был сохранен ранее, используя метод SaveToFile. Файлы дерева — текстовые файлы.

Обратите внимание: файлы деревьев содержат только тексты узлов дерева. Они не содержат никаких данных, связанных с узлами.

clip_image003[83] LoadFromStream method (TCustomTreeView)

Загружает дерево из потока.

Синтаксис:

procedure LoadFromStream(Stream: TStream);

Описание

Используйте метод LoadFromStream, чтобы загрузить дерево из указанного потока. LoadFromStream добавляет узлы дереву. Данные, связанные с узлами не сохранены или загружены.

clip_image003[84] SaveToFile method (TCustomTreeView)

Сохраняет дерево в файле, определенным параметром FileName.

Синтаксис:

procedure SaveToFile(const FileName: string);

Описание

Данные, связанные с узлами дерева не сохраняются.

clip_image003[85] SaveToStream method (TCustomTreeView)

Сохраняет дерево в потоке.

Синтаксис:

procedure SaveToStream(Stream: TStream);

Описание

Данные, связанные с узлами дерева не сохраняются.

clip_image003[86] Select method (TCustomTreeView)

Выделяет указанные узлы.

Синтаксис:

procedure Select(const Nodes: array of TTreeNode); overload; virtual;

procedure Select(Nodes: TList); overload; virtual;

procedure Select(Node: TTreeNode; ShiftState: TShiftState = []); overload; virtual;

Описание

Метод Select выбирает один или более древесных узлов.

В первых двух формах, все узлы, указанные в параметре Nodes, выделяются.

В третьей форме, узел выделяется, как щелкаем по нему мышью. Можно выделять узлы, используя клавиши CTRL, SHIFT, или правую кнопку мыши, включая в параметре ShiftState (ssCtrl, ssShift, или ssRight).

clip_image003[87] SetDragMode method (TCustomTreeView)

Устанавливает режим перетаскивания для дерева.

Синтаксис:

procedure SetDragMode(Value: TDragMode); override;

clip_image003[88] Subselect method (TCustomTreeView)

Переключает выбор (выделение) узла.

Синтаксис:

procedure Subselect(Node: TTreeNode; Validate: Boolean = False); virtual;

Описание

Метод Subselect переключает состояние выбора узла. Если Validate равно True, то метод Subselect проверяет правильность. Subselect гарантирует, что информация о состоянии выбора узла совместима, и что только те узлы, позволенные MultiSelectStyle фактически выбраны.

clip_image003[89] WndProc method (TCustomTreeView)

Обеспечивает обработку сообщений.

Синтаксис:

procedure WndProc(var Message: TMessage); override;

Описание

  • WndProc — обработчик сообщений Windows
  • WndProc метод, унаследован от TWinControl.

Александр Малыгин

Объект обсуждения - программное обеспечение для выполнения автоматизированного конструкторского и технологического проектирования, разработки управляющих программ, вопросы, связанные с разработкой прикладных САПР.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *