右击树节点

dream_ice 2008-11-24 07:21:12
CPoint obCursorPoint = (0, 0);
GetCursorPos(&obCursorPoint);
m_Tree.ScreenToClient(&obCursorPoint);
UINT uFlags;
HTREEITEM SelectNode=m_Tree.HitTest(obCursorPoint, &uFlags);
m_Tree.Select(SelectNode,TVGN_CARET);

我右击弹出个菜单,调试发现选中的节点并不是我右击的,而是和点的菜单项水平的那个节点,请帮我指出问题。谢谢
...全文
68 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
椅子来了 2008-11-24
  • 打赏
  • 举报
回复
经测试,可行
椅子来了 2008-11-24
  • 打赏
  • 举报
回复

afx_msg void OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult);
ON_NOTIFY(NM_RCLICK, IDC_TREE1, OnRclickTree1)

void CEx050104Dlg::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
CPoint obCursorPoint = (0, 0);
GetCursorPos(&obCursorPoint);
m_tree.ScreenToClient(&obCursorPoint);
UINT uFlags;
HTREEITEM SelectNode=m_tree.HitTest(obCursorPoint, &uFlags);
m_tree.Select(SelectNode,TVGN_CARET);


*pResult = 0;
}
  • 打赏
  • 举报
回复
你这段代码写在什么地方啊?

点菜单项后??还是生成菜单时??
如果是前者 那就不奇怪了~
一个“个人资料管理”工具软件,采用型结构管理各种知识。 左边是一棵,点击之后,在右边显示一个文本编辑器,用于显示和编辑信息。 1、节点操作 左边的支持所有常见的节点操作(可以使用上部的工具栏按钮,或者是右击节点从弹出菜单中选择各种命令): ◆ 节点新建/删除/改名:必须实现的功能。 ◆ 节点升级(可选):将节点提升一级,成为其父节点的兄弟。 ◆ 节点降级(可选):将节点层次降低一级,成为其兄弟的儿子(瞧这辈份乱得!) ◆ 节点上移/下移(可选):在同一级节点中位置移动…… ◆ 剪切/复制(可选):子搬家,就是将某个节点(包括其所有的子节点)移到另一个地方成为那个节点的新儿子。 可以在标准的TreeView控件基础之上实现。 2、信息的编辑 每个节点都关联着一个简单的文本编辑器,可以直接使用TextBox,以纯文本方式保存信息,也可以封装RichTextBox支持具有比较丰富样式的文本(就象Word文档那样) ◆ 节点相关联信息的显示与基础编辑功能:必须实现的功能 ◆ 打印(可选):将信息送到打印机输出 ◆ 查找与替换(可选):可以在文本中搜索特定的词并高亮显示 ◆ 辅助功能(可选):任何一个你觉得需要实现的功能,比如给文本加上行号

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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