MFC学习之CWinApp类
CWinApp是一个基类,你通过它来继承Windows应用程序对象。应用程序对象为你提供了初始化应用程序(以及它的每一个实例
和运行应用程序所需的成员函数。它实现主事件循环并把事件分发给MFC中其他类.
每个使用微软基础类库的应用程序都只能包含一个从CWinApp继承的对象。当Windows调用WinMain函数时,这个对象在
其它C++全局对象都已经生成并且可用之后才被创建,WinMain函数是由微软基础类库提供的。将你的CWinApp对象定义为全局的。
当你从CWinApp继承应用程序类的时候,应重载InitInstance成员函数以创建应用程序的主窗口对象。
除了CWinApp的成员函数以外,微软基础类库还提供了以下全局函数,用于访问你的CWinApp对象以及其它全局信息:
1.成员变量
m_pszAppName 应用程序名称
m_hInstance 当前实例的句柄
m_hPrevInstance 上一个实例的句柄
m_lpCmdLine 用于调用的命令行的一个拷贝
m_nCmdShow 指定窗口初始时的显示方式
m_bHelpMode 如果应用程序处于Help文档模式则为TRUE
m_pActiveWnd 如果应用程序是OLE服务方式并且当前处于活动状态.则它指向容器主窗口
m_pszExeName EXE文件的名称
m_pszHelpFilePath 程序的Help文件的路径
m_pszProfileName 应用程序的INI文件的名称
m_pszRegistryKey 应用程序的注册表键值
2.常用全局函数
AfxGetApp 返回指向应用程序的CWinApp对象的指针.
AfxGetInstanceHandle 返回应用程序的实例的句柄.
GfxGetResoureHandle 返回程序的资源的句柄.
AfxGetAppName 返回应用程序的名称.
3.可重载函数
InitInstance 可被重载以执行Windows的实例初始化,比如创建窗口对象
Run 运行缺省的消息循环。可被重载以定制消息循环
OnIdle 可被重载以执行应用程序指定的空闲时处理
ExitInstance 可被重载以在应用程序结束时执行清除操作
HideApplication 在关闭所有的文档之前隐藏应用程序
InitApplication 初始化应用程序
CloseAllDocuments 关闭所有打开的文档
PreTranslateMessage 在消息被分派到Windows函数::TranslateMessage和::DispatchMessage之前过滤消息
SaveAllModified 提示用户保存所有改变了的文档
DoMessageBox 为应用程序实现AfxMessageBoxProcessMessageFilter在消息到达应用程序之前截取特定的消息
ProcessWndProcException 截取应用程序的消息和命令处理函数抛出的未被处理的异常
DoWaitCursor 打开或关闭等待光标
OnDDECommand 框架调用这个函数以响应动态数据交换(DDE)执行命令
WinHelp 调用Windows的WinHelp函数
4.命令处理
OnFileNew 实现ID_FILE_NEW命令
OnFileOpen 实现ID_FILE_NEW命令
OnFilePrintSetup 实现ID_FILE_PRINT_SETUP命令
OnContextHelp 处理应用程序内的SHIFT+F1命令
OnHelp 处理应用程序内的F1帮助命令(使用当前的上下文)
OnHelpIndex 处理ID_HELP_INDEX命令,提供缺省的帮助主题
OnHelpFinder 处理ID_HELP_FINDER和ID_DEFAULT_HELP命令
OnHelpUsing 处理ID_HELP_USING命令
MFC学习之CWinApp类的更多相关文章
- MFC 学习笔记
MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...
- MFC学习-第2,3课 MFC框架的运行机制
转自:http://blog.163.com/zhigang0633@126/blog/static/38790491200822711526168/ 讲述MFC AppWizard的原理与MFC程序 ...
- MFC中的CString类使用方法指南
MFC中的CString类使用方法指南 原文出处:codeproject:CString Management [禾路:这是一篇比较老的资料了,但是对于MFC的程序设计很有帮助.我们在MFC中使用字符 ...
- MFC学习(三):项目学习
1. 概述 MFC程序由CWinApp.MainFrm(含Menu,可用CSplitterWndEx分割).众多Dialog等组成. MFC既可以使用纯Dialog的形式,也可以使用Document+ ...
- MFC学习(五)常见面试题
1:应用程序类 CTestOneApp::InitInstance 可以看做是MFC程序的入口函数,main函数隐藏在这个函数中.实际开发中一般不需要对这个类进行操作,但如果要在建立主对话框之前处理一 ...
- MFC学习(三)程序入口和执行流程
1) WIN32 API程序当中,程序入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调用程序窗口函数.而在MFC程序当中我们 ...
- MFC学习笔记1---准备工作
什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程 ...
- Yaf零基础学习总结5-Yaf类的自动加载
Yaf零基础学习总结5-Yaf类的自动加载 框架的一个重要功能就是类的自动加载了,在第一个demo的时候我们就约定自己的项目的目录结构,框架就基于这个目录结构来自动加载需要的类文件. Yaf在自启动的 ...
- 孙鑫MFC学习笔记12:文件读写
1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...
随机推荐
- IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”
Q:IIS发布网站浏览之后看到的是文件目录 A:它出现了一个说到.NET4.0 更高框架什么的错误,所以我将 .NTE CRL版本由4.0改为2.0了,改为2.0后就出现了只能浏览文件目录了.改为4. ...
- WinForm 窗体之间相互嵌套
public FrmScan() { InitializeComponent(); Form1 frm = new Form1(); frm.Dock = DockStyle.Fill; frm.Fo ...
- JAVA基础面试(四)
31.String s = new String("xyz");创建了几个StringObject?是否可以继承String类? 两个或一个都有可能,"xyz" ...
- c语言捕捉异常
闲暇之日阅读lua源码,发现原来C语言除goto之外的另一个处理异常的方法.既为setjump longjump两个函数,setjump相当于try,longjump相当于catch.与goto不同的 ...
- Oracle11g静默安装
静默安装Oracle11G 前期准备 1虚拟机准备: Centos 6.5 64位 内存2G 硬盘30G Cpu 4核 Hostname silent 将安装包放到/tmp/oracle目录下 2.软 ...
- Laravel 5 框架性能优化技巧
性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能. 接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论 1.配置缓存信息 使用l ...
- 屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案
接到一个博友的反馈,在屏幕旋转时调用PopupWindow的update方法失效.使用场景如下:在一个Activity中监听屏幕旋转事件,在Activity主布局文件中有个按钮点击弹出一个Pop ...
- cookie和session有什么区别,请你谈谈cookie的缺点
1.区别: cookie机制采用的是在客户端保持状态的方案 session机制采用的是在服务端保持状态的方案 2.cookie: 优点: 1> 极高的扩展性和可用性 2> 通过编程方式,控 ...
- 进程互斥(锁)------------------>一个坑
进程互斥锁 引入: 进程之间数据不共享,但是共享同一套文件系统(如硬盘.键盘.cpu等),所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理,即进程加锁 ...
- 浏览器出现Cannot set property 'onclick' of null的问题
Part1: 当js文件放在head里面时,如果绑定了onclick事件,就会出现这样的错误, 是因为W3School的写法是浏览器先加载完按钮节点才执行的js,所以当浏览器自顶向下解析时,找不到on ...