nim_duilib/docs/ControlBox/TreeNode.md
2019-04-19 17:19:57 +08:00

224 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TreeNode (树形列表项)
`TreeNode` 控件继承了 `ListContainerElement` 控件属性和方法,更多可用属性和方法请参考:[ListContainerElement](ListContainerElement.md) 控件
## 可用方法
| 方法名称 | 用途 |
| :--- | :--- |
| [OnClickItem](#OnClickItem) | 子项被点击时触发 |
| [SetTreeView](#SetTreeView) | 设置子项所属的树形列表容器 |
| [GetParentNode](#GetParentNode) | 获取父节点指针 |
| [SetParentNode](#SetParentNode) | 设置父节点 |
| [AddChildNode](#AddChildNode) | 添加子节点 |
| [AddChildNodeAt](#AddChildNodeAt) | 在指定位置添加子节点 |
| [RemoveChildNodeAt](#RemoveChildNodeAt) | 从指定位置移除一个子节点 |
| [RemoveChildNode](#RemoveChildNode) | 根据子节点指针移除一个子节点 |
| [RemoveAllChildNode](#RemoveAllChildNode) | 移除所有子节点 |
| [GetDescendantNodeCount](#GetDescendantNodeCount) | 递归获取所有子节点个数 |
| [GetChildNodeCount](#GetChildNodeCount) | 获取下一级子节点个数 |
| [GetChildNode](#GetChildNode) | 获取一个子节点指针 |
| [GetChildNodeIndex](#GetChildNodeIndex) | 根据子节点指针获取子节点位置索引 |
| [IsExpand](#IsExpand) | 判断是否展开状态 |
| [SetExpand](#SetExpand) | 设置是否展开显示子节点 |
| [GetDepth](#GetDepth) | 获取子项层级 |
| [RemoveSelf](#RemoveSelf) | 删除自身 |
### OnClickItem
子项被点击时触发
```cpp
virtual bool OnClickItem(EventArgs* param)
```
- 数:
- `param` 消息体
- 返回值:始终返回 true
### SetTreeView
设置子项所属的树形列表容器
```cpp
void SetTreeView(TreeView* pTreeView)
```
- 数:
- `pTreeView` 容器指针
- 返回值:无
### GetParentNode
获取父节点指针
```cpp
TreeNode* GetParentNode()
```
- 数:无
- 返回值:返回父节点指针
### SetParentNode
设置父节点
```cpp
void SetParentNode(TreeNode* pParentTreeNode)
```
- 数:
- `pParentTreeNode` 父节点指针
- 返回值:无
### AddChildNode
添加子节点
```cpp
bool AddChildNode(TreeNode* pTreeNode)
```
- 数:
- `pTreeNode` 子节点指针
- 返回值:成功返回 true失败返回 false
### AddChildNodeAt
在指定位置添加子节点
```cpp
bool AddChildNodeAt(TreeNode* pTreeNode, std::size_t iIndex)
```
- 数:
- `pTreeNode` 子节点指针
- `iIndex` 要插入哪个位置之后
- 返回值:成功返回 true失败返回 false
### RemoveChildNodeAt
从指定位置移除一个子节点
```cpp
bool RemoveChildNodeAt(std::size_t index)
```
- 数:
- `index` 要移除的子节点索引
- 返回值:成功返回 true失败返回 false
### RemoveChildNode
根据子节点指针移除一个子节点
```cpp
bool RemoveChildNode(TreeNode* pTreeNode)
```
- 数:
- `pTreeNode` 子节点指针
- 返回值:成功返回 true失败返回 false
### RemoveAllChildNode
移除所有子节点
```cpp
void RemoveAllChildNode()
```
- 数:无
- 返回值:无
### GetDescendantNodeCount
递归获取所有子节点个数
```cpp
int GetDescendantNodeCount()
```
- 数:无
- 返回值:返回所有子节点个数
### GetChildNodeCount
获取下一级子节点个数
```cpp
std::size_t GetChildNodeCount()
```
- 数:无
- 返回值:返回子节点个数
### GetChildNode
获取一个子节点指针
```cpp
TreeNode* GetChildNode(std::size_t iIndex)
```
- 数:
- `iIndex` 要获取的子节点索引
- 返回值:返回子节点指针
### GetChildNodeIndex
根据子节点指针获取子节点位置索引
```cpp
int GetChildNodeIndex(TreeNode* pTreeNode)
```
- 数:
- `pTreeNode` 子节点指针
- 返回值:返回位置索引
### IsExpand
判断是否展开状态
```cpp
bool IsExpand()
```
- 数:无
- 返回值:返回 true 为展开状态,否则为 false
### SetExpand
设置是否展开显示子节点
```cpp
void SetExpand(bool bExpand)
```
- 数:
- `bExpand` 为 true 时展开,为 false 是不展开
- 返回值:无
### GetDepth
获取子项层级
```cpp
int GetDepth()
```
- 数:无
- 返回值:返回当前层级
### RemoveSelf
删除自身
```cpp
bool RemoveSelf()
```
- 数:无
- 返回值:成功返回 true失败返回 false