Delphi TTreeView学习(一)

需要了解的属性:

AutoExpand property AutoExpand: Boolean;

Set AutoExpand to true to cause the selected item to expand and the unselected items to collapse.

BorderStyle property BorderStyle: TBorderStyleTBorderStyle;

Set BorderStyle to specify whether the tree view control should be outlined with a single-line border. These are the possible values:

Value       Meaning

bsNone   No visible border

bsSingle  Single-line border

Canvas property Canvas: TCanvas;

Use the Canvas property to paint to the canvas from the OnCustomDraw and OnCustomDrawItem event handlers.

ChangeDelay property ChangeDelay: Integer;

Use ChangeDelay to get or set the delay, in milliseconds, between when a node is selected and when the OnChange event occurs.

Set the ChangeDelay to 50 milliseconds to emulate the behavior of the tree-view control used in Windows Explorer.

DropTarget property DropTarget: TTreeNode;

Read DropTarget to determine whether a node in the tree view is drawn as the target of a drag and drop operation. Set DropTarget when specifying a particular node in the tree view as the drop target of a dragged item.

Note: When DropTarget is set, the application must still handle the actual logic of accepting the dragged object by the indicated node.

HideSelection property HideSelection: Boolean;

Use HideSelection to specify whether the user is given visual feedback about the current selection in the tree view when it does not have focus. If true, the selected node is not visually distinct from other nodes until focus returns to the control. If false, the node always appears selected.

HotTrack property HotTrack: Boolean;

Set HotTrack to true to provide visual feedback about which item is under the mouse. Set HotTrack to false to suppress the visual feedback about which item is under the mouse.

Images property Images: TCustomImageList;

Use Images to provide a customized list of bitmaps that can be displayed to the left of a node’s label. Individual nodes specify the image from this list that should appear by setting their ImageIndex property.

Indent property Indent: Integer;

Use Indent to determine how far child nodes are indented from their parent nodes when the parent is expanded.

Items

 

property Items: TTreeNodes;

Individual nodes in a tree view are TTreeNode objects. These individual nodes can be accessed by using the Items property along with the item's index into the tree view. For example, to access the second item in the tree view, you could use the following code.

MyTreeNode := TreeView1.Items[1];

When setting this property at design-time in the Object Inspector the Tree View Items Editor appears. Use the New Item and New SubItem buttons to add items to the tree view. Use the Text property to modify what text is displayed in the label of the item.

At run-time nodes can be added and inserted by using the TTreeNodes methods AddChildFirst, AddChild, AddChildObjectFirst, AddChildObject, AddFirst, Add, AddObjectFirst, AddObject, and Insert.

Note: Accessing tree view items by index can be time-intensive, particularly when the tree view contains many items. For optimal performance, try to design your application so that it has as few dependencies on the tree view’s item index as possible.

MultiSelect property MultiSelect: Boolean;

Set MultiSelect to specify whether users can select multiple nodes using the Control and Shift keys. A selection style must also be chosen in MultiSelectStyle.

MultiSelectStyle type

TMultiSelectStyles = (msControlSelect, msShiftSelect, msVisibleOnly, msSiblingOnly);

TMultiSelectStyle = set of TMultiSelectStyles;

property MultiSelectStyle: TMultiSelectStyle;

MultiSelectStyle determines how multiple selections are made when MultiSelect is true. MultiSelectStyle must include at least one of the following values.

msControlSelect: Clicking on any node with the Control key pressed toggles the selection of that node.

msShiftSelect: Clicking on any node with the Shift key press selects that node, the last single node selected, and the nodes in between. All other nodes are deselected.

msVisibleOnly Multiple: selections with the Shift key do not include child nodes of collapsed nodes.

msSiblingOnly: Selected nodes are restricted to a single set of siblings.

If msControlSelect or msShiftSelect are in effect, the last singly-selected node becomes the primary selection, referenced by Selections[0]. The primary selection is the anchor for extended selections using the Shift key.

ReadOnly property ReadOnly: Boolean;

Use ReadOnly to specify whether the user can edit the nodes of the tree view. If ReadOnly is true, the user can expand and collapse nodes, but can’t edit their labels. If ReadOnly is false, the user can edit the labels as well. The default value is false.

RightClickSelect property RightClickSelect: Boolean;

Use RightClickSelect to allow the Selected property to indicate nodes the user clicks with the right mouse button.  If RightClickSelect is true, the value of Selected is the value of the node last clicked with either the right or left mouse button.  If RightClickSelect is false, the value of Selected is the node last clicked using the left mouse button.

RightClickSelect affects only the value of the Selected property.  It does not cause the tree view to highlight a new node if the node is selected using the right mouse button.

Note: RightClickSelect must be set to true before the user right-clicks the tree view for it to affect the value of the Selected property.

RowSelect property RowSelect: Boolean;

Set RowSelect to true to cause the entire row of the selected item to be highlighted.

RowSelect is ignored if ShowLines is true.

Selected property Selected: TTreeNode;

Read Selected to access the selected node of the tree view. If there is no selected node, the value of Selected is nil (Delphi) or NULL (C++).

Set Selected to set a node in the tree view. When a node becomes selected, the tree view's OnChanging and OnChange events occur. Also, if the specified node is the child of a collapsed parent item, the parent's list of child items is expanded to reveal the specified node. In this case, the tree view's OnExpanded and OnExpanding events occur as well.

If the RightClickSelect property is true, the value of Selected is the last node that was clicked in the tree view, even if it was clicked with the right mouse button.  This may differ from the node that is highlighted to indicate selection.

If the MultiSelect property is true and the MultiSelectStyle property includes msControlSelect, then Selected returns the last node clicked on, even if that click deselected the node. For a current selection status when MultiSelect is true, refer to the Selections property.

SelectionCount property SelectionCount: Cardinal;

SelectionCount returns the number of nodes currently selected.

Selections property Selections[Index: Integer]: TTreeNode;

Selections returns one of selected nodes. The maximum value of Index is SelectionCount-1. If more than one node is selected, Selections[0] is the primary selected node. This node is the starting point for extended selections if MultiSelectStyle includes msShiftSelect.

ShowButtons property ShowButtons: Boolean;

If ShowButtons is true, a button will appear to the left of each parent item. The user can click the button to expand or collapse the child items as an alternative to double-clicking the parent item.

ShowLines property ShowLines: Boolean;

If ShowLines is true, lines linking child nodes to their parent nodes are displayed. Nodes at the root of the hierarchy are not automatically linked. To link nodes at the root, the ShowRoot property must also be set to true.

ShowRoot property ShowRoot: Boolean;

To show lines connecting top-level nodes to a single root, set the tree view's ShowRoot and ShowLines properties to true.

SortType property SortType: TSortType;

Once a tree view is sorted, the original hierarchy is lost. That is, setting the SortType back to stNone will not restore the original order of items. These are the possible values:

stNone: No sorting is done.

stData: The items are sorted when the Data object or SortType is changed.

stText: The items are sorted when the Caption or SortType is changed.

stBoth: The items are sorted when either the Data object, the Caption or SortType is changed

Optionally, the OnCompare event can be hooked to handle comparisons.

StateImages property StateImages: TCustomImageList;

Use StateImages to provide a set of bitmaps that reflect the state of tree view nodes. The state image appears as an additional image to the left of the item's icon.

ToolTips property ToolTips: Boolean;

Set ToolTips to true to specify that items in the tree view control have tool tips (Help Hints).

Specify the ToolTip text in an OnHint event handler using the Hint property.

TopItem property TopItem: TTreeNode;

When TopItem is changed, the tree view scrolls vertically so that the specified node is topmost in the list view.

时间: 2024-11-02 14:48:32

Delphi TTreeView学习(一)的相关文章

Delphi TTreeView学习(三)-- TTreeNode

需要了解的属性: AbsoluteIndex property AbsoluteIndex: Integer; Use AbsoluteIndex to determine absolute position of a node in a tree nodes object. The first tree node in a tree nodes object has an index of 0 and subsequent nodes are numbered sequentially. If

Delphi TTreeView学习(二)-- TTreeNodes

需要了解的属性: Count property Count: Integer; Use Count to determine the number of tree nodes in the tree view that owns the tree nodes object. Count provides an upper bound when iterating through the entries in the Item property array. Handle property Han

Delphi GDI+ 学习记录(28): 图像颜色的数据格式

//指定位图颜色var g,gbit: TGPGraphics; bit1,bit2: TGPBitmap; sb: TGPSolidBrush; begin //Self.Color := clWhite; g := TGPGraphics.Create(Canvas.Handle); sb := TGPSolidBrush.Create(MakeColor(255,0,0)); {画刷为红色} bit1 := TGPBitmap.Create(200, 32, PixelFormat32bp

Delphi GDI+学习记录(21): 颜色

//颜色透明度var g: TGPGraphics; sb: TGPSolidBrush; begin g := TGPGraphics.Create(Canvas.Handle); sb := TGPSolidBrush.Create(MakeColor(128,255,0,0)); {128表示半透明} g.FillRectangle(sb,10,10,100,100); sb.Free; g.Free; end; //使用 GDI+ 的颜色类型var g: TGPGraphics; sb:

Delphi GDI+学习记录(19): 路径

//绘制与填充路径var g: TGPGraphics; path: TGPGraphicsPath; p: TGPPen; sb: TGPSolidBrush; begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(MakeColor(128,255,0,0),4); sb := TGPSolidBrush.Create(MakeColor(128,255,255,0)); path := TGPGraphicsPat

Delphi GDI+学习记录(9): 纹理画刷

//纹理画刷 var g: TGPGraphics; img: TGPImage; tb: TGPTextureBrush; begin g := TGPGraphics.Create(Canvas.Handle); img := TGPImage.Create('c:\temp\small.jpg'); tb := TGPTextureBrush.Create(img); g.FillEllipse(tb, 0, 0, Self.ClientWidth, Self.ClientHeight);

Delphi GDI+学习记录(8): 阴影画刷

//阴影画刷 var g: TGPGraphics; hb: TGPHatchBrush; begin g := TGPGraphics.Create(Canvas.Handle); hb := TGPHatchBrush.Create(HatchStyleHorizontal, aclRed, aclYellow); {参数1是阴影样式; 参数2是前景色; 参数3是背景色, 参数3可选, 默认黑色} g.FillEllipse(hb, 11, 11, 222, 111); hb.Free; g

Delphi GDI+学习记录(4): 画笔对齐

//笔对齐 var g: TGPGraphics; p: TGPPen; sb: TGPSolidBrush; rect: TGPRect; begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(MakeColor(255,255,0,0),5); sb := TGPSolidBrush.Create(MakeColor(255,255,255,0)); p.SetAlignment(PenAlignmentCenter

Delphi GDI+学习记录(3): 虚线画笔

//虚线样式 var g: TGPGraphics; p: TGPPen; begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(MakeColor(255,255,0,0),3); g.DrawLine(p, 11, 11, 333, 11); {实线} p.SetDashStyle(DashStyleDashDot); {设置虚线样式} g.DrawLine(p, 11, 33, 333, 33); {绘制任何形状都