主要内容:

了解视窗程序的基本概念;建立第一个视窗程序。


一:视窗程序的基本概念

1:主程序类

每个视窗程序都要用一个主程序类,该类应继承自MFC中的CWinApp类。该类负责创建视窗程序中的主窗口对象、文档对象、视图对象等,它也是整个程序的入口。

该主程序类应重写BOOL CWinApp::InitInstance()函数,并在该函数中创建相应的对象。

程序中应创建该主程序类的全局对象。


2:主窗口类

除了对话框应用程序(如计算器),大多数视窗程序都会有一个主窗口(无论是单文档程序如记事本,还是多文档程序,如Word2003)。

MFC中的CFrameWnd类是所有窗口类的父类,在程序中应有该类的对象,用于创建窗口。

CFrameWnd::Create()函数用于完成对窗口的初始化工作,如窗口标题等。

我们可以直接创建CFrameWnd类的对象,但更多是使用它的派生类,如多文档程序中的父窗口类CMDIFrameWnd,以及子窗口类CMDIChildWnd,当然也可以自己定义CFrameWnd类的派生类。


二:创建第一个视窗程序

1:创建一个“Win32 Application”类型的“An empty project”项目;

2:在Project菜单中,利用Settings菜单,将Microsoft Foundation Classes设置为Use MFC in a Static Library;

3:创建源文件,代码如下:

#include <afxwin.h>

class MyApp : public CWinApp
{
public:
    BOOL InitInstance()
    {
        CFrameWnd *pFrame = new CFrameWnd();    //生产视窗对象
        m_pMainWnd = pFrame;
        pFrame->Create(NULL, "Hello MFC");    //创建视窗对象
        pFrame->ShowWindow(SW_SHOW);    //显示视窗对象

        return true;
    }
};

MyApp a_app;