15,979
社区成员
发帖
与我相关
我的任务
分享
void CLeftTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
CTreeCtrl* m_Tree = &GetTreeCtrl();
HTREEITEM hSelItem = m_Tree->GetSelectedItem();
HTREEITEM hParentItem = m_Tree->GetParentItem(hSelItem);
d=m_Tree->GetItemText(hSelItem);
if(hParentItem == NULL)
{ //第一层,设置可不可编辑
return;
}
hParentItem = m_Tree->GetParentItem(hParentItem);
if(hParentItem == NULL)
{//第二层,设置可不可编辑
return;
}
//第三层,设置可不可编辑
*pResult = 0;
}
那是CTreeCtrlView的,CTreeCtrl控件把上面代码的m_Tree->改成m_Tree.,删去CTreeCtrl* m_Tree = &GetTreeCtrl();void CMYDlg::OnBeginlabeleditTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
//如果节点不能编辑,让 *pResult 返回非0。
if (hItem == pTVDispInfo->item.hItem)
{
*pResult = 1; 返回非0。
return;
}
*pResult = 0;
}
void CAView::OnButton3()
{
m_ctrlTree.ModifyStyle(0,TVS_EDITLABELS);
HTREEITEM m_hItem;
m_hItem=m_ctrlTree.GetSelectedItem();
CEdit* pEdit = m_ctrlTree.EditLabel(m_hItem);
}
void CAView::OnButton4()
{
m_ctrlTree.ModifyStyle(TVS_EDITLABELS,0);
}帮你搞定了,呵呵
[Quote=引用 5 楼 MilanSpiRiT 的回复:]