在mainframe或者view中编写某个消息的响应函数时,mfc会自动带上一些代码,例如响应cview的LBUTTONDOWN消息,编辑
MFC自动生成OnLButtonDown函数,里面的代码是
// TODO: 在此添加消息处理程序代码和/或调用默认值
CView::OnLButtonDown(nFlags, point);我的问题是,
1、MFC为什么还要自动生成代码调用 CView::OnLButtonDown(nFlags,point),我是否可以删掉这一句?
2、很多消息响应函数都有这样的自动生成代码,为什么要这样?
3、如果不能删除这一句,我是否可以把我的代码写到这一句后面执行?而不是象TODO指示的位置那样,在这一句前面?
MFC自动生成OnLButtonDown函数,里面的代码是
// TODO: 在此添加消息处理程序代码和/或调用默认值
CView::OnLButtonDown(nFlags, point);我的问题是,
1、MFC为什么还要自动生成代码调用 CView::OnLButtonDown(nFlags,point),我是否可以删掉这一句?
2、很多消息响应函数都有这样的自动生成代码,为什么要这样?
3、如果不能删除这一句,我是否可以把我的代码写到这一句后面执行?而不是象TODO指示的位置那样,在这一句前面?
我只能说最好不要删,比如在PreTranslateMessage()函数中,如果你把基类的
函数删掉,那么基本上的消息都不会响应,而我们在屏蔽一些消息可以在这里添加代码
2.MFC这个框架就是自动生成的,我们使用就是重写某个类的基类大部分操作都在基类的函数
实现,但是有些扩展的需要重写相应的函数,以达到要求,你可看一下,c++中继承,多态那部分
知识
3.是可以写在这句话下面的,如在使用OnSetCursor()函数更改光标的时候,如果不写在
这那句话后面,自己设置的是无效的。
以上是本人对这个问题的看法,仅代表个人看法。如有不对,欢迎指正
2.因为需要表现出父类的一些特性。
3.一般来说最好放在TODO的位置,但是其实大部分情况是放在前面或后面都可以实现功能。