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

转自:http://zhidao.baidu.com/question/167739281.html

 

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

void CDrawTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值
 HDC hdc;
 hdc=::GetDC(m_hWnd);
 MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
 LineTo(hdc,point.x,point.y);
  ::ReleaseDC(m_hWnd,hdc);

 CView::OnLButtonUp(nFlags, point);
}
不调用也能完成的,我想知道为什么?

最佳答案
首先明白这个概念,你的CDrawTestView类继承自父类CView,你重载了基类的函数OnLButtonUp(UINT nFlags, CPoint point),如果你不重载,当程序要用到这个函数时就会默认自动调用CView::OnLButtonUp(nFlags, point)。
    你重载后加了一部分操作,但CView::OnLButtonUp(nFlags, point)里面封装了很多的操作,你把父类的函数写在里面,当需要时还可以用到其他操作。
    不调用也能完成,是你还没碰到特殊的情况。
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页