树形图标签编辑

【勇芳软件工作室】汉化HomePreviousNext

用户可以直接编辑具有TVS_EDITLABELS样式的树视图控件中的项目标签。用户通过单击具有焦点的项目的标签开始编辑。应用程序使用TVM_EDITLABEL消息开始编辑。树视图控件在编辑开始时以及取消或完成时通知父窗口。编辑完成后,如果合适,父窗口负责更新项目的标签。

当标签编辑开始时,树视图控件将其父窗口发送TVN_BEGINLABELEDIT通知消息。通过处理此通知,应用程序可以允许编辑一些标签,并阻止编辑其他标签。返回零允许编辑,返回非零可以阻止它。

取消或完成标签编辑时,树视图控件将其父窗口发送TVN_ENDLABELEDIT通知消息。【lParam的】参数是TV_DISPINFO结构的地址。项目成员是TV_ITEM结构,用于标识该项目并包含已编辑的文本。父窗口负责更新项目的标签(如果适用),可能在验证编辑的字符串后。pszText pszText成员如果取消编辑,则为零。

在标签编辑过程中,通常会响应TVN_BEGINLABELEDIT通知消息,您可以使用TVM_GETEDITCONTROL消息获取用于标签编辑的编辑控件的句柄。您可以发送编辑控件EM_SETLIMITTEXT消息,以限制用户可以输入的文本数量或将编辑控件子类化为截取并丢弃无效字符。但是请注意,编辑控件仅显示【后】 TVN_BEGINLABELEDIT被发送。