MFC中如何让静态控件响应鼠标移动的消息?

我想在静态文本控件中显示3D图形(用OGRE渲染),于是我自定义了继承CWnd的CMyModule类,并且在CMyModule中已经写了响应WM_MOUSEMOVE消息的... 我想在静态文本控件中显示3D图形(用OGRE渲染),于是我自定义了继承CWnd的CMyModule类,并且在CMyModule中已经写了响应WM_MOUSEMOVE消息的处理函数。我在对话框模板中拖入了静态文本控件。然后把这个控件关联我的自定义类,现在已经能在对话框的静态控件中显示3D图像了,现在的问题是当鼠标移动到静态控件时还是不能响应我的消息函数,不能移动图形。本人菜鸟,请高手指点。
我曾经在SDI工程下的View中能显示3D图形并且也能够响应鼠标的移动消息。
展开
 我来答
百度网友6eab688
2012-08-30 · TA获得超过4691个赞
知道大有可为答主
回答量:962
采纳率:50%
帮助的人:945万
展开全部
你是如何关联CMyModule类的,应该在对话框中,根据控件ID,删除已经创建的静态文件控件,然后用这个ID创建自己的子窗口。
还有,在鼠标的响应函数中,放一些TRACE宏,输出点内容,看看是否的确没有进入鼠标消息响应。
a36254094
2012-08-30 · TA获得超过208个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:175万
展开全部
你在你的OnLButtonDown方法里设置个断点,调试下看看鼠标消息是否能得到响应
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
镭毅
2012-08-30 · TA获得超过1394个赞
知道大有可为答主
回答量:1155
采纳率:0%
帮助的人:1090万
展开全部
WM_MOUSEMOVE

一般情况下,鼠标移动是不能拖动图形的,一定要和leftbuttondown或 rightbuttondown联合使用。

某个键按下时,同时移动鼠标,同时捕捉这两个消息,然后处理图形移动。
追问
在CMyModule中我也已经写了
void CMyModule::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_mouseLast = point;
CWnd::OnLButtonDown(nFlags, point);
}
追答
在自己的类里面,得到消息后要自己处理,就是重新画图。不能用缺省的处理。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式