欢迎来到天天文库
浏览记录
ID:44286224
大小:773.00 KB
页数:60页
时间:2019-10-20
《VC++ 课件 第3章 Windows编程与MFC》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章Windows编程与MFCMFC应用程序执行的大致流程;MFC的概念和作用;Windows应用程序的特点和运行机制;消息的概念,机制;利用MFCAppWizard来创建Windows应用程序的步骤和方法;创建应用程序中所产生的主要类及其功能、组成文件和程序的框架结构;第3章Windows编程与MFC3.1.1Windows系统特点Windows操作系统是由Microsoft公司推出的基于个人电脑的图形操作系统。其有以下几个特点:1、标准的图形用户界面,如窗口、菜单、按钮和列表框等。2、应用程序与硬件无关的特性,对于同一类硬件,不管厂家和型号程序都无需进行如何修改就可以运行。
2、3、所有的Windows应用程序都是消息驱动机制,也就是说,Winsows程序是通过操作系统发送的消息来处理用户输入的。第3章Windows编程与MFC3.1.2事件与消息的概念在Windows操作系统中,无论是系统产生的动作或是用户在运行应用程序中发出的操作动作都称为事件(Events),而消息(Message)用于描述某个事件发生的信息。事件和消息密切相关,事件是因,消息是果,事件产生消息,消息对应事件。所谓消息的响应,其实质就是事件的响应。例如:按下鼠标左键,系统就会产生一条特定的消息,标志鼠标按键事件的发生。第3章Windows编程与MFCWindows应用程序执行的基本
3、流程图3.1Windows应用程序的基本流程第3章Windows编程与MFC图中的WM_QUIT是消息值,表示应用程序退出的消息。在VisualC++编程过程中,系统规定每一种消息用一个特定的值表示,为了便于记忆,系统针对每一个消息值定义了对应的符号常量,如WM_LBUTTONDOWN表示鼠标左键按下的消息,WM_LBUTTONUP表示鼠标左肩抬起的消息,WM_SIZE表示改变窗口尺寸的消息…第3章Windows编程与MFC在应用程序运行中,消息是最重要的通信手段,在编程过程中,Windows中的每一个消息中所包括的所有信息用一个MSG结构体来表示,MSG结构体的定义如下:typ
4、edefstructtagMSG{HWNDhwnd;//获取消息的窗口句柄UINTmessage;//消息编号WPARAMwParam;//记录消息附加信息的字参数LPARAMlParam;//记录消息附加信息的长字参数DWORDtime;//消息被发送到消息队列的时间POINTpt;//消息发送时的光标所在位置}MSG;其中的HWND、UINT、WPARAM、DWORD等都是在VisualC++系统中针对Windows编程所定义的扩充数据类型。第3章Windows编程与MFC需要说明的是:图3.1的流程是一个循环的流程;Windows所能向应用程序发送的消息多达数百种,但是对于
5、一般的应用程序来说,只有其中的一部分有意义。如:如果应用程序中需要用鼠标来操作,则WM_KEYUP、WM_KEYDOWN和WM_CHAR等消息就没有如何意义,因为这些消息都是与按键有关的消息,也就是说,应用程序不需要处理这些消息,对于这些消息,只需要交给Windows作默认的处理即可。因此,在应用程序中所处理的消息只是所有消息中的一小部分。第3章Windows编程与MFCWindows应用程序实际上是由一系列的消息处理代码来实现的。这和我们传统的过程式编程方法很不一样,我们只能预测用户所利用的程序用户界面对象所进行的操作以及为这些操作编写处理代码,却不可预测这些操作在什么时候发生
6、或是什么顺序来发生,所以说,我们不可能知道什么消息会在什么时候以什么顺序来临。Windows应用程序在处理消息时使用了一种叫做回调函数(callbackfunction)的特殊函数。回调函数由应用程序定义,但是,在应用程序中并没有调用回调函数的代码,回调函数是供操作系统或者其子系统调用的,这种调用通常发生在某一事件发生时.典型的回调函数有窗口过程、对话框过程或构造函数。如:窗口过程函数的原型如下:LRESULTCALLBACKWindowProc(HWNDhwnd,//窗口句柄unituMsg,//消息标识WPARAMwParam,//包含信息内容的参数LPARAMlParam/
7、/包含消息内容的参数);第3章Windows编程与MFC3.2Windows编程中常用的数据类型和句柄3.2.1数据类型VisualC++编程过程中,经常会遇到一些VisualC++的扩充数据类型,大多数是在原有C++基本类型的基础上定义了新的便于记忆的名称,而有些是新扩充的数据类型。如:Windows中所用的数据类型对应的基本数据类型说明BOOLInt布尔值FLOATFloat浮点数LPTSTRChar*指向字符串的32位指针………第3章Windows编程与MFC3.2.2Wi
此文档下载收益归作者所有