MFC程序中,鼠标响应事件为何要在VIEW类里面处理?
MFC程序中,鼠标响应事件为何要在VIEW类里面处理?我看过很多书籍,都是在视图类里面处理鼠标或者键盘的消息,这是为什么呢?其本质是什么?希望各位朋友能解答我的疑惑,谢谢...
MFC程序中,鼠标响应事件为何要在VIEW类里面处理? 我看过很多书籍,都是在视图类里面处理鼠标或者键盘的消息, 这是为什么呢?其本质是什么? 希望各位朋友能解答我的疑惑,谢谢。
展开
1个回答
展开全部
1.你说的肯定是文档视图结构了。你想想,框架类(MainFrame)好比是墙,视图好比是一张墙纸,当你鼠标点击时,是贴在墙上的墙纸感觉到鼠标被点击。相当与消息被view拦截了。这个时候在MainFrame里处理是没办法响应的。
2.第二个问题:你注释的代码是CMouseGetMsgView类的父类CView的代码。它里面会做一些相应的鼠标处理。而默认情况下基类可能对鼠标按下没做什么事情,所以注释掉没关系。但如果父类做了相应处理,效果就会体现。比如你做的对话框中的处理确定按钮消息OnOK()函数,他也是调用了父类的CDialog的OnOK()方法,如果注释父类的方法将无法获取父类赋予该函数的那部分功能。
2.第二个问题:你注释的代码是CMouseGetMsgView类的父类CView的代码。它里面会做一些相应的鼠标处理。而默认情况下基类可能对鼠标按下没做什么事情,所以注释掉没关系。但如果父类做了相应处理,效果就会体现。比如你做的对话框中的处理确定按钮消息OnOK()函数,他也是调用了父类的CDialog的OnOK()方法,如果注释父类的方法将无法获取父类赋予该函数的那部分功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询