树控件编辑标签
用户可以直接编辑项目标签在具有 TVS_EDITLABELS 样式的树控件 (CTreeCtrl)。 用户开始编辑通过单击具有焦点的项的标签。 使用 EditLabel 成员函数,应用程序开始编辑。 树控件发送通知,编辑启动时,所以,当它被取消或完成。 在编辑完成时,将负责更新项的标签,因此,如果正确。
当标签编辑启动时,树控件发送 TVN_BEGINLABELEDIT 通知消息。 通过处理此通知,您可以允许编辑某些标签并防止编辑其他。 返回 0 允许编辑,并且,返回非零阻止它。
当标签编辑被取消或完成时,树控件发送 TVN_ENDLABELEDIT 通知消息。 lParam 参数是 NMTVDISPINFO 结构的地址。 item 成员是标识该项目并包括可编辑文本的 TVITEM 结构。 您也许负责更新项的标签,因此,如果需要,在验证已编辑的字符串之后。 ,如果编辑已取消, TV_ITEM 的 pszText 成员为 0。
在标签编辑过程,通常是为了响应 TVN_BEGINLABELEDIT 通知消息,则能够编辑控件的指针为标签使用编辑器使用 GetEditControl 成员函数的访问。 可以调用编辑控件的 SetLimitText 成员函数限制用户可以输入或子类截获并放弃无效字符的编辑控件中的文本。 然而,请注意,编辑控件中显示,在发送后TVN_BEGINLABELEDIT 。