树视的问题,右键单击树视的某个节点怎么将焦点也移到右键点击的节点上?

collision 2004-08-27 04:26:46
呵呵,很菜!!!
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
collision 2004-08-28
  • 打赏
  • 举报
回复
搞定了:
CPoint pnt;
GetCursorPos(&pnt);
//ScreenToClient(CPoint*)有三种分别为
//CWnd::ScreenToClient(CPoint*) //将鼠标转换到所指视坐标系中
//::ScreenToClient(CPoint*) //将鼠标转换到窗体坐标系中
//CWindow::ScreenToClient(CPoint*) //?
m_wndTree.ScreenToClient(&pnt);
HTREEITEM hItem = m_wndTree.HitTest(pnt);
m_wndTree.SelectItem(hItem);


其中m_wndTree是CTreeCtrl的子类
蒋晟 2004-08-28
  • 打赏
  • 举报
回复
在NM_CLICK的处理函数里面用HitTest得到的item,不要用GetSelectedItem()
collision 2004-08-27
  • 打赏
  • 举报
回复
我子类化了,可是我的树视怎么相应不到WM_RBUTTONDOWN和WM_LBUTTONDOWN消息,可以相应到OnClick和OnRClick,是不是通知类的函数把消息截获了?
sirguan 2004-08-27
  • 打赏
  • 举报
回复
子类化控件,处理WM_RBUTTONDOWN,取得消息产生的位置,然后HitTest得到一个HTREEITEM的值,对他调用select还是哪个函数就ok了。
collision 2004-08-27
  • 打赏
  • 举报
回复
试过了,属本人愚钝,怎么取得右键点击的Item呀,GetSelectedItem()返回的不是右键选择的,还是原先的那个!!
flyelf 2004-08-27
  • 打赏
  • 举报
回复
SetItemState
collision 2004-08-27
  • 打赏
  • 举报
回复
不行吗?

15,977

社区成员

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

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