树控件标签编辑

用户可以直接编辑项标签具有 TVS_EDITLABELS 样式的树控件 (CTreeCtrl)。 用户开始编辑。单击具有焦点项的标签。 使用 EditLabel 成员函数,应用程序将开始编辑。 树控件发送编辑通知,当开始时,并且,当取消或完成时。 当编辑完成时,您应负责更新项的标签,因此,如果合适。

当编辑标签开始时,树控件发送通知消息。TVN_BEGINLABELEDIT 通过处理此通知,您可能允许编辑某些标签并防止其他编辑。 返回 0 允许编辑,并且,返回非零防止它。

当编辑标签取消或完成时,树控件发送通知消息。TVN_ENDLABELEDIT lParam 参数为 NMTVDISPINFO 结构的地址。 成员是一项并包括编辑文本的结构。TVITEM 可能您负责更新项的标签,因此,如果适当,在验证编辑的字符串之后。 如果已取消编辑,TV_ITEMpszText 成员为 0。

在标签期间编辑,通常是为了响应 TVN_BEGINLABELEDIT 通知消息,可以编辑控件用于编辑标签使用 GetEditControl 成员函数的指针。 可以调用控件编辑的 SetLimitText 成员函数会限制用户可以进入或子类截获和丢弃无效字符的编辑控件的文本量。 但是,请注意,将编辑控件显示,在发送after TVN_BEGINLABELEDIT 之后。

请参见

参考

使用 CTreeCtrl

概念

控件 (MFC)