WEB开发网
开发学院软件开发VC Visual C++ MFC 简明教程(2) 阅读

Visual C++ MFC 简明教程(2)

 2007-03-18 21:27:59 来源:WEB开发网   
核心提示: 程序对象用 MFC 建立的每个应用程序都要包括一个单一从 CWinApp 类继承来的应用程序对象,该对象必须被说明成全局的(第10行),Visual C++ MFC 简明教程(2)(5),并且在你的程序中只能出现一次,从 CWinApp 类继承的对象主要是处理应用程序的初始化,如果返回了F

程序对象

用 MFC 建立的每个应用程序都要包括一个单一从 CWinApp 类继承来的应用程序对象。该对象必须被说明成全局的(第10行),并且在你的程序中只能出现一次。

从 CWinApp 类继承的对象主要是处理应用程序的初始化,同时也处理应用程序主事件循环。CWinApp 类有几个数据成员和几个成员函数。在上面的程序中,我们只重载了一个 CWinApp 中的虚拟函数 InitInstance。

应用程序对象的目的是初始化和控制你的程序。因为 Windows 允许同一个应用程序的多个事例在同时执行,因此 MFC 把初始化过程分成两部分并使用两个函数 InitApplication 和 InitInstance 来处理它。此处,我们只使用了一个 InitInstance 函数,因为我们的程序很简单。当每次调用应用程序时都会调用一个新的事例。第3至8行的代码建立了一个称为 CHelloApp 的类,它是从 CWinApp 继承来的。它包含一个新的 InitInstance 函数,是从 CWinApp 中已存在的函数(不做任何事情)重载来的:

  3 // Declare the application class
   4 class CHelloApp : public CWinApp
   5 {
   6 public:
   7 virtual BOOL InitInstance();
   8 };

在重载的 InitInstance 函数内部,第18至26行,程序使用 CHelloApp 的数据成员 m_pMainWnd 来建立并显示窗口:

   18 // The InitInstance function is called each
   19 // time the application first executes.
   20 BOOL CHelloApp::InitInstance()
   21 {
   22 m_pMainWnd = new CHelloWindow();
   23 m_pMainWnd->ShowWindow(m_nCmdShow);
   24 m_pMainWnd->UpdateWindow();
   25 return TRUE;
   26 }

InitInstance 函数返回 TRUE 表示初始化已成功的完成。如果返回了FALSE,则表明应用程序会立即终止。在下一节中我们将会看到窗口初始化的详细过程。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Visual MFC 简明教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接