1、2019/5/30,主讲教师:四川大学计算机学院 *,1,主讲教师: * 个人主页:*,高级语言程序设计II,四川大学计算机学院,四川大学计算机学院,2019/5/30,主讲教师:四川大学计算机学院 *,2,教材:C+面向对象程序设计,李涛 主编 游洪跃 陈良银 李琳等编高等教育出版社 2006年2月出版,2019/5/30,主讲教师:四川大学计算机学院 *,3,本书内容,第1章 绪论 第2章 C+类和对象 第3章 继承 第4章 多态性 第5章 模板 第6章 C+常见问题 第7章 Visual C+编程基础 第8章 对话框、常用消息、菜单和工具条 第9章 单文档界面和多文档界面 第10章 图形
2、设备接口 实验 (待安排),2019/5/30,主讲教师:四川大学计算机学院 *,4,提纲,MFC 编程,第七章 Visual C+ 编程基础,ARM Vector Table,FIQ,IRQ,(Reserved),Data Abort,Prefetch Abort,Software Interrupt,Undefined Instruction,Reset,1,3,2,Windows API 编程,Windows 程序运行机制,2019/5/30,主讲教师:四川大学计算机学院 *,5,7.1 Windows程序运行机制,Windows中的事件驱动与消息循环Windows是一种典型的事件驱动运
3、行机制;DOS 应用程序显式地运用一个函数(比如gets)来取得输入;,2019/5/30,主讲教师:四川大学计算机学院 *,6,Windows应用程序是等待Windows系统将输入传递给Windows应用程序的窗口,当窗口有输入时,窗口过程函数处理输入后将控制返回给Windows系统;Windows系统以消息的形式将输入传给窗口过程;,2019/5/30,主讲教师:四川大学计算机学院 *,7,7.1 Windows程序运行机制,例7.1分析通过鼠标在Windows 的画图程序窗口中画一个矩形的消息传递和消息处理过程;Windows应用程序在运行时就是不断地等待消息,处理消息,又等待消息这个过
4、程循环往复直到程序运行结束时为止,一般称这个过程为消息循环。,2019/5/30,主讲教师:四川大学计算机学院 *,8,7.1 Windows程序运行机制,消息和消息处理:消息的结构MSG:typedef struct tagMSG HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; MSG, *PMSG;,2019/5/30,主讲教师:四川大学计算机学院 *,9,7.1 Windows程序运行机制,MSG数据成员含义:1、hwnd:消息要发送到的应用程序窗口的句柄,如果是在一个有多个窗口的应
5、用程序中用此数据成员可决定让哪个窗口接收消息; 2、message:是一个数值用于惟一标识一种消息类型;,2019/5/30,主讲教师:四川大学计算机学院 *,10,3、wParam:是一个32位的消息数据成员它的确切意义取决于消息本身; 4、lParam:也是一个32位的消息数据成员它的确切意义也取决于消息本身;,2019/5/30,主讲教师:四川大学计算机学院 *,11,5、time:消息放入消息队列中的时间,在这个数据成员中写入的并不是日期而是从Windows启动后所测量的时间值用于保持消息正确的顺序; 6、pt:消息被放入消息队列时的鼠标坐标;,2019/5/30,主讲教师:四川大学计
6、算机学院 *,12,7.1 Windows程序运行机制,被送往应用程序的消息将被应用程序窗口的窗口过程函数所接收,如程序员编写有相应的函数窗口过程函数将执行对应的函数;一个消息函数只对应一个消息,每个消息都有一个专门的函数来处理;回顾例7.1;,2019/5/30,主讲教师:四川大学计算机学院 *,13,7.1 Windows程序运行机制,消息映象机制: 消息映像指MFC类中将消息与消息处理函数联系起来形成一一对应的机制; 任何一个从类CCmdTarget派生的类都能处理消息都有相应的消息映像;,2019/5/30,主讲教师:四川大学计算机学院 *,14,7.1 Windows程序运行机制,V
7、C中源文件宏BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间的代码为消息映像代码如象下面程序片段: BEGIN_MESSAGE_MAP(Cstep, CView) / AFX_MSG_MAP(CCircleView) ON_WM_LBUTTONDOWN() ON_WM_LBUTTONLOCK() ON_WM_LBUTTONUP() ON_WM_MOUSEMOVE() / AFX_MSG_MAP END_MESSAGE_MAP(),2019/5/30,主讲教师:四川大学计算机学院 *,15,利用ClassWizard消息处理函数中加入代码;,2019/5/30,主讲教师:四
8、川大学计算机学院 *,16,7.2 Windows API编程,API和SDKWindows API(Windows Application Programming Interface) 是所有Windows应用程序的基础;Windows应用程序通过调用API来请求操作系统完成一些低级服务;,2019/5/30,主讲教师:四川大学计算机学院 *,17,应用程序的窗口图标菜单和对话框等都是由API来进行管理和维护的;Windows API具有两种基本类型:Win16 API和Win32 API;,2019/5/30,主讲教师:四川大学计算机学院 *,18,7.2 Windows API编程,Wi
9、ndowsSDK(Windows Software Development Kit)是一套帮助C+语言程序员创建Windows应用程序的工具,它包含: 1)大量的在线帮助帮助描述了Windows编程用到的函数消息结构宏及其他资源;2)各种编程工具比如对话框编辑器及图标编辑器等;,2019/5/30,主讲教师:四川大学计算机学院 *,19,3)Windows库及头文件;4)使用C+语言编写的示例程序。Win32 API可以获得更高的效率,使用MFC更方便。,2019/5/30,主讲教师:四川大学计算机学院 *,20,7.2 Windows API编程,Windows API应用程序的组成 Win
10、dows API应用程序主要由入口函数WinMain和窗口函数构成,其中还包括各种数据类型、数据结构与函数;,2019/5/30,主讲教师:四川大学计算机学院 *,21,入口函数WinMain():WinMain函数是所有 Windows 应用程序的入口, 与一般 C 语言方式运行程序的 main()函数类似,功能为完成初始化操作, 并产生消息循环; WinMain()函数有3个基本组成部分:函数说明, 初始化及消息循环;,2019/5/30,主讲教师:四川大学计算机学院 *,22,7.2 Windows API编程,1、函数说明:int WINAPI WinMain( HINSTANCE h
11、Instance, /程序实例句柄 HINSTANCE hPrevInstance,/为保持与 Win16兼容的句柄 LPSTR lpCmdLIne, / 命令行参数 int nCmdShow / 初始化窗口显示方式 ),2019/5/30,主讲教师:四川大学计算机学院 *,23,2、初始化:通常是为窗口类的成员变量赋初值,以便创建窗口。,2019/5/30,主讲教师:四川大学计算机学院 *,24,7.2 Windows API编程,3、消息循环:采用消息循环接收消息 在API编程中消息循环一般采用while循环语句来实现的: while (GetMessage( / 将消息传递给处理函数 ,
12、2019/5/30,主讲教师:四川大学计算机学院 *,25,7.2 Windows API编程,GetMessage(&msgTmp, NULL, 0, 0) 第一个参数是要接收消息的MSG结构的地址 第二个参数表示窗口句柄 NULL则表示要获取该应用程序创建的所有窗口的消息 后三个参数被设置为默认值表示接收发送到属于这个应用程序的任何一个窗口的所有消息;,2019/5/30,主讲教师:四川大学计算机学院 *,26,在接收到除WM_QUIT之外的任何一个消息后GetMessage()都返回TRUE,如果CetMessage收到一个WM_QUIT消息则返回FALSE结束消息循环 Translat
13、eMessage()函数进行翻译它主要是转换成一些键盘消息并为窗口产生相应的ASCII字符消息;,2019/5/30,主讲教师:四川大学计算机学院 *,27,7.2 Windows API编程,DispatchMessage()函数要求Windows将消息传送给在MSG结构中为窗口所指定的窗口过程函数;,2019/5/30,主讲教师:四川大学计算机学院 *,28,窗口过程函数WndProc(): 窗口过程函数用来处理消息,此函数的声明如下:LRESULT CALLBACK WndProc( HWND hWnd, / 窗口句柄 UINT nMessage, / 所发出的消息 WPARAM wPa
14、ram, / 参数1 LPARAM lParam / 参数2 ),2019/5/30,主讲教师:四川大学计算机学院 *,29,7.2 Windows API编程,如果消息处理成功,WndProc返回值为0;,2019/5/30,主讲教师:四川大学计算机学院 *,30,WndProc()函数中采用switch实现消息的处理,2019/5/30,主讲教师:四川大学计算机学院 *,31,7.2 Windows API编程,API的程序实例: 例7.2用API编程实现应用程序窗口要求在窗口中响应鼠标左键,鼠标右键,窗口生成和窗口关闭的四个消息;,2019/5/30,主讲教师:四川大学计算机学院 *,3
15、2,用VC+6.0开发API应用程序有两种方法: 在任何文本编辑器中编辑源程序文件和头文件然后再加入Visual C+ 6.0的工程中; VC+6.0的工程中添加源程序文件和头文件,然后再利用VC+6.0的编辑器进行编辑,最后再进行编译和运行;,2019/5/30,主讲教师:四川大学计算机学院 *,33,7.2 Windows API编程,第二种方法的具体操作步骤: 1、创建Win32 Application:,2019/5/30,主讲教师:四川大学计算机学院 *,34,7.2 Windows API编程,2、选择“An empty project”; 3、加入源文件smain7_2.cpp,
16、smain7_2.h, sstdafx7_2.cpp、stdafx7_2.h;,2019/5/30,主讲教师:四川大学计算机学院 *,35,在smain7_2.cpp中加入代码,build,run得结果:,2019/5/30,主讲教师:四川大学计算机学院 *,36,7.3 MFC编程,MFC(Microsoft Foundation Class Library)简介:MFC是C+的类集,MFC提供面向对象框架,程序员可使用这一框架容易地创建Windows应用程序;,2019/5/30,主讲教师:四川大学计算机学院 *,37,MFC按照面向对象的观点以类的层次形式进行组织。高层类提供一般功能而低
17、层类实现更具体的行为; 每一个低层类都是从高层类中派生而来并且继承了高层类的行为;,2019/5/30,主讲教师:四川大学计算机学院 *,38,7.3 MFC编程,CWnd类是实现了Windows窗口中的大多数常用功能的高层类具备的功能包括打印文本绘制图形以及跟踪鼠标指针的移动;,2019/5/30,主讲教师:四川大学计算机学院 *,39,MFC能处理很多与Windows相关的常见任务,无需在所开发的每一个Windows应用程序中编写相同的消息处理循环,MFC可以实现消息循环并提供易学易用的成员函数如OnLButtonDown()能插入代码,处理窗口消息;,2019/5/30,主讲教师:四川大
18、学计算机学院 *,40,MFC还提供应用程序开发模型之一的文档/视图模型文档/视图模型是将应用程序数据与用户界面元素分离的一种应用程序方法;,2019/5/30,主讲教师:四川大学计算机学院 *,41,7.3 MFC编程,MFC采用了Windows API中的一些功能并有对程序员更友好的C+类使之更易于使用;MFC由很多C+类组成,其中有些类例如CWnd或CWinThread是整个框架中大部分内容的基础,这些基类封装了基本功能,如大多数Windows应用程序都需要的打开窗口功能,还有其他更专门化的类例如 CSplitterWnd是从这些基类中派生而来的;,2019/5/30,主讲教师:四川大学
19、计算机学院 *,42,7.3 MFC编程,MFC的主要类 MFC类库主要类 1)根类CObject类:CObject类是MFC的抽象基类,是 MFC中大多数类及用户自定子类的根类,为程序员提供了许多公共操作,这些操作包括对象的建立和删除,对象诊断,输出运行时信息等;,2019/5/30,主讲教师:四川大学计算机学院 *,43,2)应用程序体系结构类:这些类用于构造出应用程序的结构,提供多数应用程序共用的功能,这样便实现了编写程序的任务,就是填充框架,添加应用程序专用的功能,简化了应用程序的开发;,2019/5/30,主讲教师:四川大学计算机学院 *,44,7.3 MFC编程,命令相关类CCmd
20、Target类:CCmdTarget是CObject的子类是MFC库中所有具有消息映像属性的类的基类;消息映像规定了当一对象接收到消息命令时应调用哪一个函数对该消息进行处理;,2019/5/30,主讲教师:四川大学计算机学院 *,45,一般都是从CCmdTarget的子类中派生出新类,如窗口类(CWnd)应用程序类(CWinApp)文档模板类 (CDocTemplate)文档类(Cdocument)及视图类 (Cview)等;,2019/5/30,主讲教师:四川大学计算机学院 *,46,窗口应用程序类CWinApp类:每个应用程序有且只有一个应用程序对象,用于运行程序时此对象与其他对象相互协调
21、,应用程序对象从CWinApp类中派生出来;窗口应用程序类封装了初始化运行终止应用程序的代码;,2019/5/30,主讲教师:四川大学计算机学院 *,47,7.3 MFC编程,文档/视图类:文档对象是由文档模板对象所创建的用于管理应用程序的数据;视图对象表示一个窗口的用户区显示文档数据并允许用户与其交互;,2019/5/30,主讲教师:四川大学计算机学院 *,48,文档/视图类包括以下子类或模板:1)CDocTemplate文档模板的基类文档模板, 用于协调文档视图和框架窗口的创建;2)CSingleDocTemplate单文档界面SDI的文档模板;,2019/5/30,主讲教师:四川大学计算
22、机学院 *,49,3)CMultiDocTemplate多文档界面MDI的文档模板;4)CDocument应用程序专用文档的基类;5)CView用于显示文档数据的应用程序专有视图的基类;,2019/5/30,主讲教师:四川大学计算机学院 *,50,7.3 MFC编程,可视对象类: 窗口类CWnd:CWnd类提供了MFC中所有窗口类的基本功能,是CCmdTarget类的子类;创建一个Windows窗口要分两步进行:1)构造一个CWnd对象;,2019/5/30,主讲教师:四川大学计算机学院 *,51,2)调用Create建立Windows窗口并将它连到CWnd对象上;,2019/5/30,主讲教
23、师:四川大学计算机学院 *,52,7.3 MFC编程,MFC中还包括从CWnd类派生出来的进一步的窗口类型以完成更具体的窗口创建工作,这些派生类有:1)CFrameWnd框架窗口类是SDI应用程序主框架窗口的基类;,2019/5/30,主讲教师:四川大学计算机学院 *,53,2)CMDIFrameWnd多文档框架窗口类是MDI应用程序主框架窗口的基类;3)CMDIChildWnd多文档子窗口类是MDI应用程序文档框架窗口的基类;,2019/5/30,主讲教师:四川大学计算机学院 *,54,7.3 MFC编程,视图类CView:CView类用于表示框架窗口的客户区以及显示文档数据;CView类包
24、括以下子类:1)CScrollView具有滚动功能的视图的基类;2)CEditView具有文本编辑查找替换和滚动功能的视图的基类;,2019/5/30,主讲教师:四川大学计算机学院 *,55,菜单类CMenu类:CMenu类是CObject类的子类用于管理菜单,提供了与窗口有关的菜单资源,建立修改跟踪及删除功能的成员函数;,2019/5/30,主讲教师:四川大学计算机学院 *,56,7.3 MFC编程,对话框类CDialog:CDialog类是从CWnd类中派生出来的对话框类;它包括如下一些子类: CFileDialog提供用于打开或保存文件的标准对话框;,2019/5/30,主讲教师:四川大
25、学计算机学院 *,57,CColorDialog提供用于选择颜色的标准对话框; CFontDialog提供用于选择字体的标准对话框; CPrintDialog提供用于打印文件的标准对话框; CFindReplaceDialog提供用于删除查找并替换的标准对话框;,2019/5/30,主讲教师:四川大学计算机学院 *,58,7.3 MFC编程,控制类:控制类子层次结构为Windows应用程序提供了各种输入和显示界面的控件类,这时控件指放在窗口中可视对象; Cstatic:常用于标注分隔窗口中其他控件;,2019/5/30,主讲教师:四川大学计算机学院 *,59,Cbutton:为对话框或窗口中的
26、按钮复选框或单选按钮提供一个总的接口; Cedit:用于接收用户的文字输入; CRichEditCtrl:除了提供文本编辑控件的功能外还支持字符和图形格式等功能; CSrollBar:提供控制条的功能用做对话框或窗口中的一个控件用户可通过它在某一范围内进行定位;,2019/5/30,主讲教师:四川大学计算机学院 *,60,7.3 MFC编程,CProgressCtrl:用于指示操作的进度; CSliderCtrl:包括一个可移动的滑标用户可移动滑标来选择一个值或一个范围; CListBox:用于显示一组列表项用户可以进行观察和选择;,2019/5/30,主讲教师:四川大学计算机学院 *,61,
27、CComboBox:组合框控件类由一个编辑控制加一个列表框组成; CBitmapButton:位图按钮控件类是带有位图而非文字标题的按钮; CSpinButtonCtrl:带有一个双向箭头按钮的控件类用户单击某个箭头按钮将增大值或减小值; CAnimateCtrl:动画显示控件类用于显示一个简单的视频图像;,2019/5/30,主讲教师:四川大学计算机学院 *,62,7.3 MFC编程,控制条类CControlBar: 控制条类是如下两个子类的基类:CToolBar工具条控件类,CStatusBar状态条控件类 ;,2019/5/30,主讲教师:四川大学计算机学院 *,63,设备描述表类CDC
28、类:CDC类及其子类支持设备描述表对象,是CObject类的子类,通过CDC对象的成员函数可以完成所有的绘画工作;,2019/5/30,主讲教师:四川大学计算机学院 *,64,CDC包括的子类有:CPaintDC:用于窗口的OnPaint成员函数和视图的OnDraw成员函数中自动调用BeginPaint进行构造,调用EndPaint进行析构;CClientDC:用于窗口客户区的显示描述表;CWindowDC:用于在整个窗口的显示描述表包括用户区和框架区;,2019/5/30,主讲教师:四川大学计算机学院 *,65,7.3 MFC编程,绘画对象类CGdiObject类:图形绘画对象子层次结构以C
29、GdiObject类为根类,用于建立绘画对象模型,如画笔刷子字体位图调色板等,包括有如下一些子类:CBitmap封装有GDI位图提供了一个操作位图的接口;,2019/5/30,主讲教师:四川大学计算机学院 *,66,CBrush封装有GDI画刷可选择设备描述表的当前画刷; CFont封装有GDI字体可选择设备描述表的当前字体; CPalette封装有GDI调色板是应用程序和彩色输出设备如显示器之间的接口;,2019/5/30,主讲教师:四川大学计算机学院 *,67,7.3 MFC编程,CPen封装有GDI画笔可选择设备描述表的当前画笔; CRgn封装GDI区域用于操作窗口内的椭圆区域或多边形区
30、域该类应与CDC类的裁剪成员函数起使用;,2019/5/30,主讲教师:四川大学计算机学院 *,68,7.3 MFC编程,MFC的消息与消息处理方法: 在MFC类中使用消息映像机制将消息与消息处理联系起来; 程序员不必编写WinMain()函数,发送消息到WndProc()函数;,2019/5/30,主讲教师:四川大学计算机学院 *,69,程序员只需直接编写对应消息响应函数而消息和消息处理将由VC6内部自动添加一个消息映像关系进行对应; 例7.3,利用MFC的消息映像机制编程,其步骤为:,2019/5/30,主讲教师:四川大学计算机学院 *,70,1)创建工程,工程类型为MFC AppWiza
31、rd(exe);2)选择Single document;3)使用 ClassWizard为WM_CREATE及WM_DESTROY创建消息响应代码;,2019/5/30,主讲教师:四川大学计算机学院 *,71,7.3 MFC编程,AppWizard与ClassWizard:AppWizard用于生成应用程序框架,ClassWizard用于添加自己的类和成员;只有学会AppWizard和ClassWizard才掌握了程序的编写方法;,2019/5/30,主讲教师:四川大学计算机学院 *,72,AppWizard:AppWizard是开发Windows应用程序的最简单最方便的方法,它用于创建基于M
32、FC类库的Windows应用程序框架文件如源文件头文件资源文件等;,2019/5/30,主讲教师:四川大学计算机学院 *,73,7.3 MFC编程,AppWizard的启动和界面介绍: 文件类型:,2019/5/30,主讲教师:四川大学计算机学院 *,74,7.3 MFC编程,文件类型续:,2019/5/30,主讲教师:四川大学计算机学院 *,75,7.3 MFC编程,工程类型:,2019/5/30,主讲教师:四川大学计算机学院 *,76,7.3 MFC编程,工程类型,续:,2019/5/30,主讲教师:四川大学计算机学院 *,77,7.3 MFC编程,AppWizard的使用: AppWiz
33、ard生成的应用程序结构: 1、应用程序包含的类 AppWizard生成的应用程序共派生了五个类打开例7.3的s7_3在工程的工作区窗口中选择ClassView选项卡从中可看到工程的五个类如下图所示:,2019/5/30,主讲教师:四川大学计算机学院 *,78,2019/5/30,主讲教师:四川大学计算机学院 *,79,7.3 MFC编程,1)应用程序类CS7_3App:从CWinApp类中派生出来,功能是为应用程序的所有对象包括文档视图和边框窗口进行初始化,在应用程序中有且仅有一个应用程序对象被创建;,2019/5/30,主讲教师:四川大学计算机学院 *,80,2)文档类CS7_3Doc:从
34、CDocument类派生出来,主要用于存放应用程序的数据,同时实现数据的保存和装载功能; 3)视图类CS7_3View:从CView类中派生出来主要用于显示储存在文档对象中的数据;,2019/5/30,主讲教师:四川大学计算机学院 *,81,7.3 MFC编程,4)对话框类CAboutDlg:从Cdialog派生出来的用于显示关于对话框; 5)主框架窗口类CMainFrame:它是CSDIFrameWnd类中派生出来的主框架窗口,主要用于管理应用程序窗口,显示菜单栏,标题栏,工具栏,状态栏控制菜单和控制按钮等;,2019/5/30,主讲教师:四川大学计算机学院 *,82,对于多文档应用程序将有
35、主框架窗口类CMainFrame和子窗口框架类CchildFrame主框架窗口类;CmainFrame是从CMDIFrameWnd类中派生出来的,CchildFrame是从CMDIChildWnd类中派生出来的主要用于管理在MDI主框架窗口中打开的各个文档;,2019/5/30,主讲教师:四川大学计算机学院 *,83,7.3 MFC编程,2.应用程序的文件说明:,2019/5/30,主讲教师:四川大学计算机学院 *,84,7.3 MFC编程,ClassWizard 类向导工具ClassWizard用于对应用程序框架进行修改,编辑或补充,所以ClassWizard是对应用程序中的类进行管理的重要
36、工具; ClassWizard的启动和界面介绍: (1)启动ClassWizard: (2)Message Maps选项卡:,2019/5/30,主讲教师:四川大学计算机学院 *,85,7.3 MFC编程,Message Maps选项卡,2019/5/30,主讲教师:四川大学计算机学院 *,86,7.3 MFC编程,(3)Member Variables选项卡:,2019/5/30,主讲教师:四川大学计算机学院 *,87,7.3 MFC编程,(4)Automation选项卡:,2019/5/30,主讲教师:四川大学计算机学院 *,88,7.3 MFC编程,(5)ActiveX Events选项
37、卡:,2019/5/30,主讲教师:四川大学计算机学院 *,89,7.3 MFC编程,(6)Class Info选项卡:,2019/5/30,主讲教师:四川大学计算机学院 *,90,7.3 MFC编程,ClassWizard的使用方法 (1)向工程中增添新类; (2)向视图类中加入成员函数: 以例7.4为例介绍使用ClassWizard向AppWizard生成的应用程序中增加成员函数,操作步骤如下 :,2019/5/30,主讲教师:四川大学计算机学院 *,91,1)打开工程s7_4选择菜单View的启动 ClassWizard;2)在Message Maps选项卡中类CS7_4View中选择消
38、息WM_MOUSEMOVE,单击Add Function按钮消息响应函数OnMouseMove出现在Member function列表框中如下图所示:,2019/5/30,主讲教师:四川大学计算机学院 *,92,7.3 MFC编程,2019/5/30,主讲教师:四川大学计算机学院 *,93,7.3 MFC编程,3)单击 OK按钮完成设定此时ClassWizard自动修改了文件s7_4View.h和s7_4View.cpp。增加了消息响应函数OnMouseMove的声明及定义;,2019/5/30,主讲教师:四川大学计算机学院 *,94,4)修改成员函数OnMouseMove的代码,选择VC6的
39、工作区窗口的FileView选项卡双击s7_4View.cpp或使用MFC Class Wizard对话框中的Edit Code按钮来进行编辑;,2019/5/30,主讲教师:四川大学计算机学院 *,95,在OnMouseMove函数中加人代码:,2019/5/30,主讲教师:四川大学计算机学院 *,96,7.3 MFC编程,5)选择Build菜单中的execute命令,运行程序可以看到鼠标在视图区域移动时屏幕上实时显示出鼠标指针的坐标如下图所示:,2019/5/30,主讲教师:四川大学计算机学院 *,97,习题,课后习题、作业 习题1 习题2 习题3,2019/5/30,主讲教师:四川大学计算机学院 *,98,测试题,http:/211.83.120.3在线测试,2019/5/30,主讲教师:四川大学计算机学院 *,99,Thanks!,The End,