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 ...
随机推荐
- C#三步实现标准事件处理程序
事件,MSDN解释:类或对象可以通过事件向其他类或对象通知发生的相关事情.发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”. 有关事件的理论与好处,在这里就不再废话了,感兴趣的 ...
- .net core 依赖注入扩展,实现随处控制反转
在使用.net core时,依赖注入,主要使用通过构造函数注入.小编将通过扩展方式,实现在类中各个地方可以控制反转,获取实例. 1.首先自定义扩展类 using Microsoft.AspNetCor ...
- Python ---------- Tensorflow (二)学习率
假设最小化函数 y = x2 , 选择初始点 x0= 5 1. 学习率为1的时候,x在5和-5之间震荡. #学习率为1 import tensorflow as tf training_steps = ...
- linux下高可用LVS搭建及配置方法
一,安装与配置ipvsadm ipvsadm --help #查询是否安装成功 二,配置Director Server服务器 1. ifconifg eth0:0 183.61.87.4 ...
- AIO5系统中关于赠品处理的方法
最近频繁有人问我,关于赠品在AIO5系统中如何处理.首先AIO5系统支持赠品处理关于赠品,在AIO5系统中走的是[其他出库单]路径:仓库--仓库作业--其他出库单--新增(如下图) 通常赠品对应的业务 ...
- Python学习笔记 变量
蒟蒻高举横幅:部分内容转自廖雪峰的Python教学 1.Python是动态语言,即它的变量是没有类型的. !/usr/bin/env python a = 'ABC' print a a = 123 ...
- 使用docker搭建Jenkins 及slave的配置
安装Jenkins 使用docker docker run -d -p 8080:8080 -p 50000:50000 -v /opt/jenkins_home:/var/jenkins_home ...
- 使用ThinkPHP的扩展功能
文件上传类的代码位于“\ThinkPHP\Libabry\Think\Uplod.class.php”,实例化电偶用即可.1:在Home模块Index控制器test方法中实现文件上传功能.打开文件\A ...
- Django 2.0 新特性 抢先看!
一.Python兼容性 Django 2.0支持Python3.4.3.5和3.6.Django官方强烈推荐每个系列的最新版本. 最重要的是Django 2.0不再支持Python2! Django ...
- 永中DCS文档转换服务其它产品对比
一.利用DCOM配置直接操作Office文件 作用:读取文件内容,导出Html文件 优势:免费 劣势:1.服务器上必须安装Office软件 2.配置麻烦,正如微软所说,读取Office不是这么干的. ...