void CDlgCombin::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
HTREEITEM hCurItem = m_TC_Tree.GetSelectedItem();
if ( NULL == hCurItem )
return;
CString strName = m_TC_Tree.GetItemText(hCurItem);
string strItemName = strName.GetBuffer(0); //选择的是子节点,但得到的确是父节点。要双击才能得到子节点。
//怎么判断我得到的节点是父节点还是子节点呢?
}
{
HTREEITEM hCurItem = m_TC_Tree.GetSelectedItem();
if ( NULL == hCurItem )
return;
CString strName = m_TC_Tree.GetItemText(hCurItem);
string strItemName = strName.GetBuffer(0); //选择的是子节点,但得到的确是父节点。要双击才能得到子节点。
//怎么判断我得到的节点是父节点还是子节点呢?
}
----------------
不明白。说需求
不知道你要干什么,用TVN_SELCHANGED可能更好些
-AAA
aaa
我点击了aaaa节点
HTREEITEM hCurItem = m_TC_Tree.GetSelectedItem();
if ( NULL == hCurItem )
return;
CString strName = m_TC_Tree.GetItemText(hCurItem);
string strItemName = strName.GetBuffer(0); //得到却是父节点的名字AAA
我用了TVN_SELCHANGED消息响应
但为什么NM_CLICK会出现那个问题呢?
他们的区别是什么啊?
hParentItem = tree_proc.GetSelectedItem();
if(hParentItem == NULL )
{
MessageBox("父节点为空,未选!"," 提示");
return;
}
HTREEITEM h_group = tree_proc.GetParentItem(hParentItem);//父节点下的子节点
if(hParentItem != NULL && h_group == NULL)
{
MessageBox("请选择子节点节点!"," 提示");
return;
}
说明NM_CLICK消息到来时还没有SelectItem呢。