CWinApp:应用程序类
MFC 中的主应用程序类将封装 Windows 操作系统的应用程序的初始化、运行和终止。 基于框架生成的应用程序必须有且只有一个从 CWinApp 派生的类的对象。 创建窗口之前将构造此对象。
CWinApp
派生自 CWinThread
,它表示应用程序的执行的主线程(可能有一个或多个线程)。 在最新版本的 MFC 中,InitInstance
、Run、ExitInstance
和 OnIdle
成员函数实际上位于类 CWinThread
中。 此处将这些函数作为 CWinApp
成员进行了讨论,因为讨论的焦点是将对象的角色视为应用程序对象,而不是主线程。
注意
应用程序类构成了应用程序的执行主线程。 使用 Win32 API 函数,还可以创建执行的辅助线程。 这些线程可使用 MFC 库。 有关详细信息,请参见多线程。
与 Windows 操作系统的所有程序类似,框架应用程序具有 WinMain
函数。 但在框架应用程序中,您不编写 WinMain
。 它由类库提供,并且在应用程序启动时调用。 WinMain
运行标准服务,如注册窗口类。 然后它调用应用程序对象的成员函数来初始化和运行该应用程序。 (您可通过重写 WinMain
调用的 CWinApp
成员函数来自定义 WinMain
。)
若要初始化此应用程序,WinMain
将调用应用程序对象的 InitApplication
和 InitInstance
成员函数。 要运行应用程序的消息循环,WinMain
将调用 Run 成员函数。 终止时,WinMain
将调用应用程序对象的 ExitInstance
成员函数。
注意
本文档中以粗体显示的名称表示由 Microsoft 基础类库和 Visual C++ 提供的元素。 以 monospaced
类型显示的名称表示您创建或重写的元素。
另请参阅
常规 MFC 主题
CWinApp 和 MFC 应用程序向导
可重写的 CWinApp 成员函数
特殊的 CWinApp 服务