【MFC】在DoModal()出一个对话框中(主窗口未退出,被DoModal出的对话框遮住)绘图,除图形外,还有动态创建的控件。这时点开浏览器,再回到程序,无法

goodprocess 2013-06-06 10:01:44
【MFC】在DoModal()出一个对话框中(主窗口未退出,被DoModal出的对话框遮住)绘图,除图形外,还有动态创建的控件。这时点开浏览器,再回到程序,无法响应滚轮事件,左键或者右键事件都可以正常响应。请教一下各位,如何是好。刚来神坛,没有积分,各位帮帮忙。
...全文
180 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodprocess 2013-06-06
  • 打赏
  • 举报
回复
引用 2 楼 zhoujielunzhimi 的回复:
无法响应滚轮消息? 那是因为此时焦点不在窗口上,你点击左键后应该可以滚动了,如果还不行,那就在左键消息中加上 SetFocus();
谢谢你啦,左键点击上去后,还是不能响应滚轮消息。但是可以响应左键按下等消息。个人觉得可能是MFC的对于滚轮等事件的响应方式和左键按下等的事件不同吧。 问题解决啦:在OnPaint()函数最后一行加一句话 this->SetFocus();问题就解决了。 sumos。谢谢你。
sumos 2013-06-06
  • 打赏
  • 举报
回复
无法响应滚轮消息? 那是因为此时焦点不在窗口上,你点击左键后应该可以滚动了,如果还不行,那就在左键消息中加上 SetFocus();
goodprocess 2013-06-06
  • 打赏
  • 举报
回复
个人觉得可能是由于,在回到程序窗口后,进行了Onpaint(),重绘操作,而动态创建的控件也在这时候进行了创建。于是鼠标滚轮的消息就被动态创建的控件截获了,但是不知道如何让绘图窗口重新获得滚轮事件,很是苦恼,孤独纠结ing···

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧