Ctreectrl-单击鼠标左键的选择有关问题
Ctreectrl---单击鼠标左键的选择问题 ?
如何实现单击鼠标左键获得被选重的那个项的文本 ?
我写了下面的代码--但是得到的是上次单击鼠标左键选中的项的文本
void CMYTree::OnClickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
HTREEITEM m_node;
CString m_Name= " ";
m_node=m_Tree.GetSelectedItem();
if(m_Tree.GetItemData(m_node)!=0)
{
CString m_Name=m_Tree.GetItemText(m_node);
MessageBox(m_Name);//为何得到的是上次单击鼠标左键选中的项的文本
}
CDialog::OnLButtonUp(nFlags, point);
*pResult = 0;
}
如何实现单击鼠标左键获得这次选中的项的文本?
------解决方案--------------------
用HitTest得到选择项或直接响应通告消息TVN_SELCHANGED
------解决方案--------------------
GetCursorPos
然后用ScreenToClient转成client坐标
如何实现单击鼠标左键获得被选重的那个项的文本 ?
我写了下面的代码--但是得到的是上次单击鼠标左键选中的项的文本
void CMYTree::OnClickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
HTREEITEM m_node;
CString m_Name= " ";
m_node=m_Tree.GetSelectedItem();
if(m_Tree.GetItemData(m_node)!=0)
{
CString m_Name=m_Tree.GetItemText(m_node);
MessageBox(m_Name);//为何得到的是上次单击鼠标左键选中的项的文本
}
CDialog::OnLButtonUp(nFlags, point);
*pResult = 0;
}
如何实现单击鼠标左键获得这次选中的项的文本?
------解决方案--------------------
用HitTest得到选择项或直接响应通告消息TVN_SELCHANGED
------解决方案--------------------
GetCursorPos
然后用ScreenToClient转成client坐标