MFC框架中生成的消息响应函数为什么最后都要调一下父类CView类的同名消息响应函数

2024-12-20 21:46:19
推荐回答(4个)
回答1:

首先,不是所有的消息响应函数都调用父类的同名消息响应函数。只是在必要的时候。
其次,调用父类的函数是因为父类也完成了一些操作,子类函数只是响应的添加功能,或者你子类函数可能是个空的,为了防止意外,父类有必要做些操作。

回答2:

最后都要调一下父类CView类的同名消息

这个是因为正真做的事情,是父类CView类的同名消息完成的,你做的东西,都是在这个的基础上的修改

例如:父类CView类的同名消息 负责建个泳池,那么你在 框架中生成的消息响应函数 中,可以改变这个水池的属性(水多少,池子多大等),建个泳池这个事并不是你完成的(如果你彻底重写,那另当别论)

回答3:

视情况而定, 不一定.比如OnKeyDown, 你处理了上下左右键, 用来滚动窗口, 就不必回调父类的OnKeyDown,其实调用也白调用, CView不理睬这些.

回答4:

窗口消息一般由窗口类和视图类来处理