mfc列表控件构造后还要create么
1个回答
展开全部
关键的MFC函数的区别如下:
1、onPaint与onDraw
这两个函数的区别在网上解释的也比较多,首先要明确OnPaint()是CWnd类的成员函数,OnDraw()是CView类的成员函数,而CView派生于CWnd,因此CView类也继承了OnPaint函数。另外,要明确响应WM_PAINT消息的是OnPaint函数。
对于View类来说,当其窗口客户区变得无效时,windows将产生一个WM_PAINT消息,View类继承的OnPaint函数响应该消息,并通过创建CPaintDC类的对象进一步调用OnDraw函数。因此,通常情况下,没有必要重写OnPaint函数,只需要在OnDraw类中进行绘图操作。
2、OnCreate和PreCreateWindow
首先说明一下OnCreate和PreCreateWindow的调用时间,PreCreateWindow是在窗口注册之后,并用CreateWindowEx产生窗口之前调用的;而OnCreate是在窗口创建之后,显示之前调用的。
PreCreateWindow的是让程序员在PreCreateWindow中按自己的要求修改窗口的注册信息,以改变窗口的风格,如果在PreCreateWindow中修改了注册信息值,那么在紧接着的调用CreateWindowEx创建窗口时,其参数就会发生相应的改变,从而就创建了一个符合要求的窗口。
1、onPaint与onDraw
这两个函数的区别在网上解释的也比较多,首先要明确OnPaint()是CWnd类的成员函数,OnDraw()是CView类的成员函数,而CView派生于CWnd,因此CView类也继承了OnPaint函数。另外,要明确响应WM_PAINT消息的是OnPaint函数。
对于View类来说,当其窗口客户区变得无效时,windows将产生一个WM_PAINT消息,View类继承的OnPaint函数响应该消息,并通过创建CPaintDC类的对象进一步调用OnDraw函数。因此,通常情况下,没有必要重写OnPaint函数,只需要在OnDraw类中进行绘图操作。
2、OnCreate和PreCreateWindow
首先说明一下OnCreate和PreCreateWindow的调用时间,PreCreateWindow是在窗口注册之后,并用CreateWindowEx产生窗口之前调用的;而OnCreate是在窗口创建之后,显示之前调用的。
PreCreateWindow的是让程序员在PreCreateWindow中按自己的要求修改窗口的注册信息,以改变窗口的风格,如果在PreCreateWindow中修改了注册信息值,那么在紧接着的调用CreateWindowEx创建窗口时,其参数就会发生相应的改变,从而就创建了一个符合要求的窗口。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询