一个比较菜的问题 CTreeCtrl

hxzb7215191 2004-06-28 11:14:17
在一个CTreeCtrl中要如何在用户单击时,得到用户当前单击的Tree 的Item?


void CMyDlg::OnClickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
}

这个响应函数中的pNMHDR参数是不是可能得到用户单击了那个Item呢?


...全文
119 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiaosan 2004-06-28
  • 打赏
  • 举报
回复
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
m_Tree.ScreenToClient(&point);

UINT uFlags;
HTREEITEM hItem = pmyTreeCtrl->HitTest(point, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
pmyTreeCtrl->Select(hItem, TVGN_CARET);
}
lixiaosan 2004-06-28
  • 打赏
  • 举报
回复
CTreeCtrl::GetSelectedItem
gufengduyu 2004-06-28
  • 打赏
  • 举报
回复
// get point base screen
GetCursorPos(&point);
m_Tree.ScreenToClient(&point);
hItem = m_Tree.HitTest(point, &uFlags);//得到选中的项

if(NULL != hItem)
{
//弹出菜单
}
Kudeet 2004-06-28
  • 打赏
  • 举报
回复
GetItemText();
windyloft 2004-06-28
  • 打赏
  • 举报
回复
CString GetItemText( HTREEITEM hItem )
lixiaosan 2004-06-28
  • 打赏
  • 举报
回复
void CTest6Dlg::OnClickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here

NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

//pNMTreeView->itemNew
//pNMTreeView->itemOld

*pResult = 0;
}
hxzb7215191 2004-06-28
  • 打赏
  • 举报
回复
谢谢大家了。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧