树控件父项和子项

树控件(CTreeCtrl)中的任何项都可以有一个子项列表,这些子项称为子项,与子项相关联。 具有一个或多个子项的项称为父项。 子项显示在其父项下方,并缩进以指示它属于父项。 没有父级的项位于层次结构的顶部,称为根项。

在任何给定时间,父项子项列表的状态都可以展开或折叠。 当状态展开时,子项将显示在父项下方。 折叠时,不会显示子项。 当用户双击父项时,列表会自动在展开状态和折叠状态之间切换;如果用户单击与父项关联的按钮,则父项具有 TVS_HASBUTTONS 样式。 应用程序可以使用 Expand 成员函数展开或折叠子项。

通过调用 InsertItem 成员函数将项添加到树控件。 此函数返回 HTREEITEM 类型的句柄,该句柄唯一标识该项。 添加项时,必须指定新项的父项的句柄。 如果指定 NULLTVI_ROOT 值,而不是 TVINSERTSTRUCT 结构或 hParent 参数中的父项句柄,则将该项添加为根项。

当父项的子项列表即将展开或折叠时,树控件将发送 TVN_ITEMEXPANDING 通知消息。 通知使你有机会防止更改或设置依赖于子项列表状态的父项的任何属性。 更改列表的状态后,树控件会发送 TVN_ITEMEXPANDED 通知消息。

展开子项列表时,相对于父项缩进。 可以使用 SetIndent 成员函数设置缩进量,也可以使用 GetIndent 成员函数检索当前量。

另请参阅

使用 CTreeCtrl
控件