附加_mfc与windows编程概述1(2012)

上传人:子 文档编号:52213617 上传时间:2018-08-19 格式:PPT 页数:62 大小:1.45MB
返回 下载 相关 举报
附加_mfc与windows编程概述1(2012)_第1页
第1页 / 共62页
附加_mfc与windows编程概述1(2012)_第2页
第2页 / 共62页
附加_mfc与windows编程概述1(2012)_第3页
第3页 / 共62页
附加_mfc与windows编程概述1(2012)_第4页
第4页 / 共62页
附加_mfc与windows编程概述1(2012)_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《附加_mfc与windows编程概述1(2012)》由会员分享,可在线阅读,更多相关《附加_mfc与windows编程概述1(2012)(62页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计面向对象程序设计参考资源参考资源vvVC+VC+深入详解深入详解 孙鑫孙鑫 余安萍余安萍 编著,电子工业出版社编著,电子工业出版社 教学视频教学视频 vvMFCMFC类库详解类库详解本讲主要内容本讲主要内容vvWindowsWindows编程基本概念编程基本概念 窗口窗口 事件驱动事件驱动 消息消息 vvMFCMFC应用程序与命令行应用程序的区别应用程序与命令行应用程序的区别 事件驱动事件驱动 vv如何建立一个如何建立一个MFCMFC的应用程序的应用程序 AppWizardAppWizard vv对话框应用程序示例对话框应用程序示例 vv菜单编辑示例菜单编辑示例 vv简单绘图示

2、例简单绘图示例n n 1 1、Windows Windows 窗口窗口 Windows Windows 应用程序基本的操作单元;应用程序基本的操作单元; 应用程序与用户之间交互的接口环境;应用程序与用户之间交互的接口环境; 系统管理的基本单位;系统管理的基本单位; 编写一个编写一个WindowsWindows应用程序首先应创建一个或多个窗口,应用程序首先应创建一个或多个窗口, 随后应用程序的运行过程即是窗口内部、窗口与窗口之间、随后应用程序的运行过程即是窗口内部、窗口与窗口之间、 窗口与系统之间数据处理与数据交换的过程。窗口与系统之间数据处理与数据交换的过程。WindowsWindows编程基

3、础编程基础-1-1、基本概念、基本概念n n 标题栏标题栏 n n 系统菜单系统菜单 n n 最大化最小化按钮最大化最小化按钮 n n 菜单栏菜单栏 n n 工具栏工具栏 n n 边框边框 n n 客户区:用于显示应用程序的输出客户区:用于显示应用程序的输出 n n 状态栏状态栏 n n 图标和光标图标和光标 n n 垂直滚动条和水平滚动条垂直滚动条和水平滚动条WindowWindow(窗口)的组成(窗口)的组成n n 重叠(重叠(OverlappedOverlapped)窗口)窗口用于建立应用程序的主窗口,即用于建立应用程序的主窗口,即主窗口主窗口或或框架框架 窗口窗口。n n 弹出(弹出(

4、PopupPopup)窗口)窗口通常以通常以对话框和消息框对话框和消息框的形式与用户对话。的形式与用户对话。n n 子(子(ChildChild)窗口)窗口只能出现在另一个窗口中,不能有菜单。只能出现在另一个窗口中,不能有菜单。窗口的风格窗口的风格 对象对象指指WindowsWindows的规范部件,包括各种窗口、菜单、按钮、对的规范部件,包括各种窗口、菜单、按钮、对话框以及程序模块等。话框以及程序模块等。 句柄(句柄(handlehandle)一个句柄是指一个句柄是指WindowsWindows使用的一个使用的一个唯一的整数值唯一的整数值,是一个,是一个4 4字节长字节长的数值,用于标识应用

5、程序中不同对象和同类对象中的的数值,用于标识应用程序中不同对象和同类对象中的 不同实例。如一个窗口、图标、控件等。不同实例。如一个窗口、图标、控件等。应用程序通过句柄能够访问相应的对象信息。应用程序通过句柄能够访问相应的对象信息。对象和句柄对象和句柄n n 过程式编程过程式编程 main( )main( )函数:函数的调用函数:函数的调用 以及执行都是按照程序员预以及执行都是按照程序员预 定好的顺序进行的。定好的顺序进行的。 采取顺序的、关联的、采取顺序的、关联的、过程过程 驱动驱动的程序设计方法(有明的程序设计方法(有明 显的开始、明显的过程和明显的开始、明显的过程和明 显的结束)。显的结束

6、)。 面向程序(不是面向用户的面向程序(不是面向用户的 ),交互性差,用户界面不),交互性差,用户界面不 够友好。够友好。n n 事件驱动程序事件驱动程序Windows Windows编程模式编程模式 以窗口为中心以窗口为中心,根据用户,根据用户 不同的操作激活处理相应事不同的操作激活处理相应事 件的代码并完成相应的任务件的代码并完成相应的任务 。 由事件的发生来控制由事件的发生来控制。 面向用户的程序设计方法面向用户的程序设计方法 。 “ “被动被动” ”式程序设计方法。式程序设计方法。2 2、MFCMFC应用程序与命令行应用程序的区别应用程序与命令行应用程序的区别uu 例例 计算一个学生的

7、平均成绩。计算一个学生的平均成绩。运行程序运行程序输入姓名输入姓名输入数学成绩输入数学成绩输入英语成绩输入英语成绩计算平均成绩计算平均成绩结束结束DOSDOS程序执行过程程序执行过程 DOSDOS(单任务系(单任务系统)程序是面向批统)程序是面向批 命令或面向事务的命令或面向事务的 过程驱动程序过程驱动程序; 运行程序运行程序结束结束消息处理消息处理输入姓名输入姓名输入数学成绩输入数学成绩输入英语成绩输入英语成绩计算平均成绩计算平均成绩uu WindowsWindows程序执行过程程序执行过程n n 事件驱动程序设计是事件驱动程序设计是 围绕着围绕着消息的产生与处消息的产生与处 理理而展开的。

8、而展开的。 WindowsWindows(多任务系统)程(多任务系统)程 序是序是面向用户面向用户的基于消息的的基于消息的事事 件驱动程序件驱动程序(Message BasedMessage Based ,Event DrivenEvent Driven)。其核心是)。其核心是 消息的处理消息的处理和和事件的驱动事件的驱动。uu 例例 人员信息管理程序。人员信息管理程序。n n 消息(消息(MessageMessage):关于发生的事件的信息,报告事件发生的通):关于发生的事件的信息,报告事件发生的通 知。知。n n 消息是一种消息是一种WindowsWindows的数据结构,其中包含有消息的

9、名字、消息发的数据结构,其中包含有消息的名字、消息发 生时的一些参数,以及处理消息的指针。生时的一些参数,以及处理消息的指针。n n 事件驱动围绕消息的产生与处理展开,靠消息循环机制来实现的事件驱动围绕消息的产生与处理展开,靠消息循环机制来实现的 。消息(消息(MessageMessage)typedef struct tagMSGtypedef struct tagMSG HWND hwnd; /HWND hwnd; /接受消息的窗口句柄接受消息的窗口句柄 UNIT message; /UNIT message; /消息名字消息名字 WPARAM wParam;/WPARAM wParam;

10、/参数,具体意义由消息名字决定参数,具体意义由消息名字决定 LPARAM lparam; /LPARAM lparam; /参数,具体意义由消息名字决定参数,具体意义由消息名字决定 DWORD time; /DWORD time; /消息发送时间消息发送时间 POINT pt; /POINT pt; /记录光标的位置记录光标的位置 MSG; MSG;消消 息息 结结 构构 定定 义义n n 当用户使用鼠标单击某处时,会触发鼠标单击事件,当用户使用鼠标单击某处时,会触发鼠标单击事件, 单击事件通过消息的方式通知单击事件通过消息的方式通知WindowsWindows系统,一旦应用系统,一旦应用 程

11、序获得某个消息,就调用程序获得某个消息,就调用消息处理函数处理消息消息处理函数处理消息,完,完 成相应的功能或动作。成相应的功能或动作。n n 输入消息:包括鼠标和键盘输入;输入消息:包括鼠标和键盘输入; n n 控制消息:用来与控制消息:用来与WindowsWindows的控制对象进行双向通的控制对象进行双向通信;信; n n 系统消息:对程序化的事件或系统时钟中断作出反系统消息:对程序化的事件或系统时钟中断作出反映;映; n n 用户消息:程序员自定义的并在应用程序中主动发用户消息:程序员自定义的并在应用程序中主动发出的。出的。消息的分类消息的分类开始执行开始执行终止执行终止执行当前消息是

12、当前消息是 否否“ “退出退出” ”是否本程序要是否本程序要 处理的消息处理的消息初始化初始化从消息队列取从消息队列取 得一个消息得一个消息处理消息处理消息默认处理默认处理否否是是否否是是WindowsWindows程序和程序和 WindowsWindows消息的基本流程消息的基本流程int APIENTRY int APIENTRY WinMainWinMain(HINSTANCE hInstance,(HINSTANCE hInstance,HINSTANCE hPrevInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, LPSTR lpC

13、mdLine,int nCmdShow) int nCmdShow) MSG msg;MSG msg;MyRegisterClassMyRegisterClass(hInstance);(hInstance);/ Perform application initialization:/ Perform application initialization: if (!if (!InitInstanceInitInstance (hInstance, nCmdShow) (hInstance, nCmdShow) return FALSE;return FALSE; n n 产生主窗口界面产生主

14、窗口界面WindowsWindows程序的入口程序的入口WinMain( )WinMain( )函数函数/ Main message loop:/ Main message loop: while (GetMessage(TranslateMessage( DispatchMessage(DispatchMessage( return msg.wParam;return msg.wParam; n n 消息循环消息循环n n MFCMFC,Microsoft Foundation Class LibraryMicrosoft Foundation Class Library的缩写的缩写 ,微软

15、为,微软为WindowsWindows程序员提供的一个面向对象的程序员提供的一个面向对象的 WindowsWindows编程接口。编程接口。n n MFCMFC提供了一个标准化的结构。提供了一个标准化的结构。n n MFCMFC提供了大量的代码,指导用户编程时实现某提供了大量的代码,指导用户编程时实现某 些技术和功能。些技术和功能。MFCMFC应用程序框架应用程序框架 抽象基类:抽象基类:CObjectCObject定义定义MFCMFC类的共同属性类的共同属性 应用程序框架类:构成应用程序骨架的类应用程序框架类:构成应用程序骨架的类 CDocTemplateCDocTemplate文档模板类文档模板类 CDocumentCDocument文档类文档类 CViewCView视图类:负责显示和交互工作的类视图类:负责显示和交互工作的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号