查看: 2411|回复: 11

MFC+OSG 右键弹出菜单项

[复制链接]

该用户从未签到

发表于 2011-9-4 22:32:31 | 显示全部楼层 |阅读模式
请教:MFC+OSG 通过handle方法判断右键被按下 显示MessageBox可以 为什么显示弹出式菜单却无显示(弹出式菜单已在MFC程序中验证可行)?

该用户从未签到

发表于 2011-9-5 09:04:34 | 显示全部楼层
非常不建议在OSG的回调中进行打开对话框等操作

该用户从未签到

 楼主| 发表于 2011-9-5 09:39:27 | 显示全部楼层
回复 2# array


    由于想右键单击场景中的某一特定物体后弹出弹出式菜单,所以重载了PickHandler的handle方法,先判断某一特定物体被选中,如果被选中则弹出弹出式菜单。

该用户从未签到

发表于 2011-9-5 10:20:52 | 显示全部楼层
好像是有点乱!

该用户从未签到

发表于 2011-9-5 11:42:47 | 显示全部楼层
两种方式,一种是向窗口类发送消息,在ui线程中创建菜单
第二种是用osgwidget的方式创建菜单

该用户从未签到

发表于 2011-9-5 12:06:32 | 显示全部楼层
由于OSG是在一个线程中处理回调的,而MFC事件必须在主线程中处理。所以处理方式就和gis_wudi所说的,向窗口发送消息,窗口相应消息后进入主线程处理事件。

在handler中:
PostMessage(view->m_hWnd, WM_MY_MESSAGE_POPUPMENU, (WPARAM)menucontext, 0);

该用户从未签到

 楼主| 发表于 2011-9-5 14:18:40 | 显示全部楼层
回复 5# gis_wudi


    谢谢 问题已解决

该用户从未签到

 楼主| 发表于 2011-9-5 14:19:08 | 显示全部楼层
回复 6# pixii


    谢谢 问题已解决

该用户从未签到

发表于 2011-12-12 18:31:57 | 显示全部楼层
thf 发表于 2011-9-5 14:19
回复 6# pixii

楼主,能把你的解决方案介绍一下吗?正好我也遇到了这个问题  菜单式如何创建的?如何向窗口发送消息呀?事件如何定义的呀?最好能写个简单的代码 谢啦

该用户从未签到

发表于 2012-6-18 10:45:05 | 显示全部楼层
楼主是怎样在MFC下进行对OSG拾取的呢?跟教程里的那样,所有的头文件、函数和main都在一个cpp里吗?还是添加对鼠标的消息处理?是怎样实现拾取的呢?

该用户从未签到

发表于 2015-10-24 18:29:57 | 显示全部楼层
楼主,能把你的解决方案介绍一下吗?正好我也遇到了这个问题  菜单式如何创建的?如何向窗口发送消息呀?事件如何定义的呀?最好能写个简单的代码 谢啦

该用户从未签到

发表于 2015-12-3 12:03:34 | 显示全部楼层
xuanbona 发表于 2015-10-24 18:29
楼主,能把你的解决方案介绍一下吗?正好我也遇到了这个问题  菜单式如何创建的?如何向窗口发送消息呀?事件如 ...

有思路没?解决了吗?给大家分享下啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表