查看: 1429|回复: 3

新手求教

[复制链接]

该用户从未签到

发表于 2011-1-18 22:00:03 | 显示全部楼层 |阅读模式
刚学osg,请问怎样在对话框的一个静态控件上显示的窗口

该用户从未签到

发表于 2011-1-19 08:28:45 | 显示全部楼层
如果您用的是MFC,osgviewerMFC是您可以参考的例子。OSG也提供了针对其它GUI的例子可以学习

该用户从未签到

发表于 2011-1-19 10:10:12 | 显示全部楼层
如果是mfC,你获得这个控件的句柄Hand,然后就可以按照osgMFC的例子了,不过最好不要用静态控件,我记得我用的时候,这个控件好像没法响应鼠标和键盘消息,当时没有深究,就用的其他控件。当然这些都只限于mfc编程。

该用户从未签到

发表于 2011-1-19 10:31:02 | 显示全部楼层
本帖最后由 usr1 于 2011-1-19 10:33 编辑

可以实现,参照osgviewerMFC,
// Get the current window size
::GetWindowRect(m_hWnd, &rect);
// Init the Windata Variable that holds the handle for the Window to display OSG in.
osg::ref_ptr<osg::Referenced> windata = new osgViewer::GraphicsWindowWin32::WindowData(m_hWnd);
两个地方把m_hWnd换成控件的句柄就可以了。
响应 WM_CHAR消息传递到消息队列接收键盘按键消息
修改对话框控件notify属性为true接收鼠标事件
这样就可以在事件处理器中完成事件响应了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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