VC重载OnPaint的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:22:03
在VC中重载OnPaint的时候,经常会出现//Do not call CXXX::OnPaint的注释,我想知道为什么不要调用基类的OnPaint函数,我试了一下,调用完基类的OnPaint好像并没有什么影响,不管是在调用之前还是之前绘图都可以正常显示,有没有谁知道为什么不建议调用的具体原因呢?

个人认为,MFC建议不调用父类的OnPaint,是希望你自己完成控件的重绘操作.因为派生类里一般都有些自身才有的成员,父类的OnPaint无法实现这些成员的更新,还是需要你自己写更新代码.所以不如全部自己写,省得在搞不清楚父类的OnPaint()做了哪些事情的情况下,你自己少做了一些事情,或者是做了无用功.