查看: 2483|回复: 4

关于场景相机漫游鼠标操作问题

[复制链接]

该用户从未签到

发表于 2009-3-10 10:24:26 | 显示全部楼层 |阅读模式
如果在一个单文档视图窗口中直接加入相机漫游事件,如Trackball方式,在视图View窗口内是不需要额外处理鼠标捕获问题,因为当前OSG场景窗口句柄就是主程序View的窗口句柄,那么,如果单独写一个场景窗口类,用来绘制OSG场景的,然后将这个窗口作为主程序单文档视图窗口的一个子窗口来处理,则需要将主程序的鼠标操作传递给子窗口类,那么是不是要将鼠标的左右中键Down与Up消息都一一相应进行处理呢,我觉得应该不用这样,我试着捕获一下WM_MOUSEMOVE消息,在里面判断鼠标是否位于子窗口区域内,是则SetCapture,否则ReleaseCapture,但在鼠标离开子窗口区域后,总释放不掉鼠标的捕获操作,以至于需要双击非客户区,才可以释放掉子窗口鼠标的捕获,判断鼠标区域问题,应该没问题,不知道有人知道怎么解决吗?

该用户从未签到

发表于 2009-3-10 10:39:12 | 显示全部楼层
呃,说实话这段文字我真的没太读懂……似乎您最后问的问题和OSG已经无关了?抱歉我个人不太了解这种捕获机制的工作原理
BTW:以一个业余小说爱好者的角度来说,事实上标点符号对于表达文意是至关重要的,全部都是逗号会有一种喘不上气的感觉~~

该用户从未签到

 楼主| 发表于 2009-3-10 15:11:57 | 显示全部楼层
原帖由 array 于 2009-3-10 10:39 发表
呃,说实话这段文字我真的没太读懂……似乎您最后问的问题和OSG已经无关了?抱歉我个人不太了解这种捕获机制的工作原理
BTW:以一个业余小说爱好者的角度来说,事实上标点符号对于表达文意是至关重要的,全部都是逗 ...

呵呵,可能写的时候有些急,自己没有读一遍,不好意思。
我的问题基本与OSG没有太大的关系了,主要是鼠标操作控制方面的问题:
我写了一个窗口类CSceneWnd,主要是实现OSG场景显示等功能,是纯粹的图形显示窗口类。另外,我有一个SDI单文档测试主程序Test,我想把CSceneWnd这个窗口,
作为TestView视图的子窗口,嵌入进去,但这样会带来一个问题,就是主程序Test的鼠标操作, 对子窗口CSceneWnd操作无效。
不知道有没说清楚,^_^

该用户从未签到

发表于 2009-3-10 15:53:02 | 显示全部楼层
呵呵,那么看看版上其他朋友是否有这方面的经验,因为我个人是不使用MFC开发的,更推崇已然支持LGPL的优秀开发库Qt~~

该用户从未签到

 楼主| 发表于 2009-3-11 09:45:04 | 显示全部楼层
谢谢,已经搞定了,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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