1,如果想单击树上的节点使其能够编辑需要在create时追加:TVS_EDITLABELS
编辑后如果想让其能够保存,需要追加下面两个方法:
ON_NOTIFY_REFLECT(TVN_BEGINLABELEDIT, OnBeginlabeledit)
ON_NOTIFY_REFLECT(TVN_ENDLABELEDIT, OnEndlabeledit)
void CViewTree::OnBeginlabeledit(NMHDR* pNMHDR, LRESULT* pResult)
{
TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
this->GetEditControl()->LimitText(50);
*pResult = 0;
}
void CViewTree::OnEndlabeledit(NMHDR* pNMHDR, LRESULT* pResult)
{
TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
WCHAR s[50];
this->GetEditControl()->GetWindowText(s, 50);
TRACE(_T("%s\n"), s);
this->SetItemText(GetSelectedItem(), s);
*pResult = 0;
}
本文详细介绍了在创建树形控件时如何追加TVS_EDITLABELS属性以实现节点编辑,并通过实现ON_NOTIFY_REFLECT方法OnBeginlabeledit和OnEndlabeledit来确保编辑后的节点能够正确保存。
3507

被折叠的 条评论
为什么被折叠?



