查看: 2883|回复: 6

在mfc对话框下建立osg环境,怎么不能用键盘控制了

[复制链接]

该用户从未签到

发表于 2011-5-26 19:56:17 | 显示全部楼层 |阅读模式
qqqqqqqqqqqq.JPG 我原本是在win32下建立了一个虚拟环境,能用键盘进行控制,
但我现在想在MFC的对话框下建立这样的一个环境,但按键盘怎么没反应了
还有我想请教一下viewer::run()和viewer::realize() 的区别,我在win32下是用viewer::run()来实现键盘响应的,而在MFC下用viewer::run()程序运行到中间停住了,没有报错,就卡在那里,界面出不来,而用viewer::realize() 界面可以出来,但按键盘无效,只会在按钮上跳来跳去

该用户从未签到

发表于 2011-5-26 20:05:49 | 显示全部楼层
realize是执行一些窗口初始化工作,请参考osgMFC进行对比,没有什么大问题

该用户从未签到

发表于 2011-5-26 22:40:06 | 显示全部楼层
需要传递mfc消息给osg处理,请参看osgMFC的例子

该用户从未签到

发表于 2011-11-7 14:28:29 | 显示全部楼层
tianxiao888 发表于 2011-5-26 22:40
需要传递mfc消息给osg处理,请参看osgMFC的例子

请问如何将mfc的按键响应传递给osg呢,我也遇到了类似的问题?
我写了个keyboardhandler,继承自GUIEventHandler,重写了其中的bool handle函数,发现在osgmfc的框架下无法响应键盘事件,换成鼠标事件就可以响应的,我猜测可能是按键事件被mfc截获,osg无法直接获取键盘事件,希望高手赐教?如何将mfc消息传递给osg

该用户从未签到

发表于 2011-11-7 14:46:05 | 显示全部楼层
参考osgmfc,在keydown和keyup消息里将消息封装传入osg消息队列

该用户从未签到

发表于 2011-11-9 08:51:44 | 显示全部楼层
fenma3422 发表于 2011-11-7 14:46
参考osgmfc,在keydown和keyup消息里将消息封装传入osg消息队列

请问是osg英文网站发布的osgViewerMFC这个例子吗?没有看到过您所说的osgMFC的例子

该用户从未签到

发表于 2011-11-12 09:56:50 | 显示全部楼层
是osgViewerMFC这个例子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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