黄皮书第三章学习笔记

①   MFC中的WinMain函数在AppMoDul.cpp文件中。

②   构造派生类时,先构造基类。于是,则可将我们写的程序同微软的MFC,WinMain等联系起来。

③   由继承性原理,this指针指向派生类的对象

④   Afx开头的函数都是应用程序类框架函数,在所编的程序中到处都可以引用,它们都是全局函数。

⑤   AfxEndDeferRegisterClass有很多if判断窗口,而后赋予类名,最后用AfxRegisterClass注册。实际这两个函数是一个函数。

⑥   preCreateWindow实际是在注册窗口,是Frame类的窗体。

⑦   MainFram和View类是两种窗口。

⑧   创建窗口的时候,会有一个WM_Create消息产生,我们可以响应这个消息。

⑨   窗口销毁的时候,窗口类对象并没有销毁。此时,窗口类对象就会调用CWnd类的DestroyWindow函数,将CWnd类的成员变量m_hWnd设置为NULL。(m_hWnd是用来保存以之相关的窗口句柄)

第三章一个例子就是在窗体上创建了一个按钮,按钮是CButton类,派生于CWnd类,可以视为一个窗口

一、在MainFrame上创建-----》那就直接在其OnCreate()函数里,写上如下代码即可,注意Button是需要Show的,或者加上参数为WS_VISIBLE即可:

1     btn.Create("按钮",BS_PUSHBUTTON,CRect(10,10,100,30),this,1);
2 btn.ShowWindow(SW_SHOWNORMAL);

在此之前,右键点击MainFrame,添加一个CButton类,声明一个对象为btn,属性设置为Private即可(下面View类相同)

1 private:
2 CButton btn;

二、在View上创建,要记住,View类,就像一层墙纸那样覆盖在MainFrame类上面(MainFrame类是墙)。View类没有直接的OnCreate()函数,我们可以右键点击View类,添加消息相应函数,这里的消息,选择WM_CREATE消息,然后编辑代码,在代码里写上如上面的代码,即可。

转载于:https://www.cnblogs.com/52yixin/articles/2102056.html

你可能感兴趣的:(黄皮书第三章学习笔记)