- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CWinApp应用程序类共63个成员.
CWinApp 应用程序类共63个成员(由Cobject-CCmdTarget-CWinThread派生)#include afxwin.hCWinApp类是你派生Windows应用程序对象的基类。应用程序对象提供初始化你的应用程序(及其每个实例)的成员函数,并运行该应用程序。每个使用MFC类的应用程序只能包含一个CWinApp派生类对象。当Windows调用由MFC库提供的WinMain函数时,其它C++全局对象被创建并生效,该对象(CWinApp派生类)被创建。你应该在全局级声明它。当你从CWinApp 派生一个应用程序类时,重载InitInstance成员函数来创建应用程序的主窗口对象。在添加CWinApp成员函数时,MFC库提供下列全局函数来访问你的CWinApp对象和其它全局信息:AfxGetApp 获得CWinApp对象指针。AfxGetInstanceHandle 获得当前应用程序实例的句柄。AfxGetResourceHandle 获得应用程序资源句柄。AfxGetAppName 获得一个字符串指针,该字符串包含应用程序名称。换个方式,如果你有一个CWinApp对象指针,可用m_pszExeName来得到应用程序名称。?See CWinApp: The Application Class in Visual C++ Programmers Guide for more on the CWinApp class, including an overview of the following:CWinApp-derived code written by AppWizard.CWinApps role in the execution sequence of your application.CWinApps default member function implementations.CWinApps key overridables.?◆数据成员1、m_pszAppName指定程序名称。程序名称可来自传送给CWinApp构造函数的参数,如果没有指定,就利用ID号为AFX_IDS_APP_TITLE的资源字符串,再没有的话就使用程序的EXE文件名称。该数据成员是全局函数AfxGetAppName的返回值,它是const char*型的公共变量。注意: 如果你要给m_pszAppName赋值,必须动态分配堆栈。CWinApp的析构函数以该指针调用free( )。你可能想用_tcsdup( )运行时库函数来做内存分配,也要用还未赋新值的当前指针释放内存。举例如下://在CWinApp启动时首先释放由MFC分配的字符串。//该字符串在InitInstance被调用前被分配。free((void*)m_pszAppName);//改变程序文件名称。//CWinApp的析构函数将释放内存。m_pszAppName=_tcsdup(_T(d:\\somedir\\myapp.exe));例子:CWnd* pWnd;// 设置pWnd到某些窗口已创建的CWnd对象。// 下面调用CWnd::MessageBox使用了应用程序标题作为消息窗口名称。pWnd-MessageBox(Some message, AfxGetApp()-m_pszAppName);// 获得程序标题更直接的途径是调用AfxGetAppName:pWnd-MessageBox(Some message, AfxGetAppName());// 以应用程序标题作为消息框名称来显示消息框的更容易的方法//是调用AfxMessageBox:AfxMessageBox(Some message);2、m_hInstance识别当前应用程序实例。与Windows传送给WinMain的参数hInstance一致。m_hInstance数据成员是Windows应用程序当前实例的句柄,它是全局函数AfxGetInstanceHandle的返回值,是一个HINSTANCE型的公共变量。例子://通常你不必直接传送程序的hInstance给Windows APIs,因为这与MFC//成员函数的作用等同等同,下面的例子不是通常作法:HCURSOR hCursor;hCursor = ::LoadCursor(AfxGetApp()-m_hInstance,?MAKEINTRESOURCE(IDC_MYCURSOR));// 获得程序hInstance更直接的途径是调用Af
文档评论(0)