使用树控件

树控件 (CTreeCtrl) 的典型用法遵循以下模式:

  • 创建滑块控件。 如果控件是在对话框模板中指定的,或者如果使用 CTreeView,则创建对话框或视图时会自动进行创建。 如果要将树控件创建为其他窗口的子窗口,请使用 Create 成员函数。

  • 如果希望树控件使用图像,请通过调用 SetImageList 设置图像列表。 还可以通过调用 SetIndent 来更改缩进。 最好在 OnInitDialog(用于对话框中的控件)或 OnInitialUpdate(用于视图)中执行此操作。

  • 通过为每个数据项调用一次 CTreeCtrlInsertItem 函数,将数据放入控件中。 InsertItem 返回可用于稍后引用的项的句柄,例如添加子项时。 最好在 OnInitDialog(对于对话框中的控件)或 OnInitialUpdate(对于视图)中初始化数据。

  • 当用户与该控件交互时,将发送各种通知消息。 可以通过在控制窗口的消息映射中添加 ON_NOTIFY_REFLECT 宏或向父窗口的消息映射中添加 ON_NOTIFY 宏,指定一个函数来处理需要处理的每条消息。 有关可能的通知的列表,请参阅本主题后面的树控件通知消息

  • 调用各种 Set 成员函数来设置滑块控件的值。 可以进行的更改包括设置缩进和更改与项关联的文本、图像或数据。

  • 使用各种 Get 函数检查控件的内容。 还可以使用函数遍历树控件的内容,这些函数支持检索指定项的父级、子级和同级的句柄。 甚至可以对特定节点的子级进行排序。

  • 在使用完该控件之后,请确保将其正确销毁。 如果树控件在对话框中或者树控件是一个视图,将自动销毁该控件和 CTreeCtrl 对象。 否则,您需要确保正确地销毁控件和 CTreeCtrl 对象。

另请参阅

使用 CTreeCtrl
控件