查看: 2709|回复: 6

<求助>基于对话框的MFC怎么使用OSG框架求助

[复制链接]

该用户从未签到

发表于 2010-4-21 10:32:13 | 显示全部楼层 |阅读模式
本人接触OSG不久,原来一直使用MFC文档框架开发OSG,但是在基于对话框的MFC怎么使用OSG框架呢,因为对话框上面所有的东西都是动态创建的(),包括View类,但是动态创建时 传入的m_hWnd 总是有问题 ,造成
osg::ref_ptr<osg::Referenced> windata = new osgViewer::GraphicsWindowWin32::WindowData(m_hWnd);
traits->inheritedWindowData = windata;
溢出错误

// 加入KEY切换
keyswitchManipulator->addMatrixManipulator( '1', "Trackball", trackball.get());
溢出错误





//主体视图区声明
m_pClientView = (CCreateNewLowerDieView*)RUNTIME_CLASS(CCreateNewLowerDieView)->CreateObject();

//将UI描述信息与各自区域连接
m_pClientArea->setClientView(m_pClientView);

//生成视图的容器(该容器用CStatic模拟)
//视图区创建
cClientView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, viewRect, m_statics.back(), ID_CLIENT_VIEW);

该用户从未签到

 楼主| 发表于 2010-4-21 11:08:17 | 显示全部楼层
或者大侠们有什么其他的解决方法啊 就是在一个Dialog里面使用OSG。
比MFC的框架搞晕了 dialog里面的东西也是动态创建的

该用户从未签到

发表于 2010-4-21 11:11:33 | 显示全部楼层
这个,我的解决办法是创建了一个ActiveX控件,这个控件是有osg来做的。不过这并不是一种好的方法。

该用户从未签到

 楼主| 发表于 2010-4-21 11:16:59 | 显示全部楼层
谢谢 CWorld了先 我有那个ActiveX控件了 请问下你实现的效果怎么样呢 我看后面都是黑黑的 和平常的不一样 我是不是可以通过修改里面的接口 和 事件处理 来完善他呢 具体不知道实现的效果可以满足要求不 因为我还要使用 Animation 以及 其中的 MorphGeometry  不知道会不会有冲突

该用户从未签到

发表于 2010-4-21 11:32:00 | 显示全部楼层
这个你可以修改Camera的颜色,至于接口和事件,我个人觉得确实挺麻烦的,因为我传递osg::Node *的时候,问过array,向控件里传递这种参数不太好弄,你说的Animationh和MorphGeometry我没有用过,不知道。这个我总觉得不太安全!

该用户从未签到

 楼主| 发表于 2010-4-21 13:10:28 | 显示全部楼层
谢谢大家了哈 问题已经解决了 还是使用m_hWnd 原来我的链接库的顺序有点问题 造成了错误

该用户从未签到

发表于 2010-4-22 10:05:44 | 显示全部楼层
是这样的东西吗?
无标题2.jpg
也是用MFC做的,创建窗口什么的应该都没什么问题的~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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