MFC 中的 CWinApp 应用程序类详解

需积分: 46 3 下载量 191 浏览量 更新于2024-07-27 收藏 60KB DOCX 举报
CWinApp 类成员全解 CWinApp 类是 MFC 中的应用程序类,共有 63 个成员,提供了应用程序对象的基本功能。它是从 CObject、CCmdTarget、CWinThread 派生而来。CWinApp 类是 Windows 应用程序对象的基类,提供了初始化应用程序的成员函数和运行应用程序的功能。 CWinApp 类的成员函数可以分为两大类:一类是数据成员,另一类是成员函数。数据成员包括 m_pszAppName、m_pszExeName 等,用于存储应用程序的名称和其他信息。成员函数包括 InitInstance、Run 等,用于初始化和运行应用程序。 InitInstance 成员函数是 CWinApp 类的关键成员函数之一,它用于创建应用程序的主窗口对象。当你从 CWinApp 派生一个应用程序类时,需要重载 InitInstance 成员函数来创建应用程序的主窗口对象。 AfxGetApp、AfxGetInstanceHandle、AfxGetResourceHandle、AfxGetAppName 等全局函数是 MFC 库提供的,可以用于访问 CWinApp 对象和其他全局信息。AfxGetApp 函数可以获取 CWinApp 对象的指针,AfxGetInstanceHandle 函数可以获取当前应用程序实例的句柄,AfxGetResourceHandle 函数可以获取应用程序资源句柄,AfxGetAppName 函数可以获取应用程序名称。 CWinApp 类的其他成员函数包括 Run、ExitInstance、OnIdle 等,用于运行应用程序、退出应用程序和处理 idle 事件等。 CWinApp 类的数据成员 m_pszAppName 是一个重要的数据成员,它指定了应用程序的名称。应用程序名称可以来自传送给 CWinApp 构造函数的参数,如果没有指定,就利用 ID 号为 AFX_IDS_APP_TITLE 的资源字符串,再没有的话就使用程序的 EXE 文件名称。 在使用 CWinApp 类时,需要注意以下几点: * CWinApp 类只能派生一个对象,每个使用 MFC 类的应用程序只能包含一个 CWinApp 派生类对象。 * 当 Windows 调用由 MFC 库提供的 WinMain 函数时,其他 C++ 全局对象被创建并生效,该对象(CWinApp 派生类)被创建。 * 应该在全局级声明 CWinApp 对象。 CWinApp 类是 MFC 中的应用程序类,提供了应用程序对象的基本功能。它的成员函数和数据成员可以帮助开发者快速创建 Windows 应用程序。