《可视化软件开发工具-总复习.ppt》由会员分享,可在线阅读,更多相关《可视化软件开发工具-总复习.ppt(44页珍藏版)》请在三一办公上搜索。
1、可视化软件开发工具,总复习,考试时间:5月23日,12:30-14:00地点:2-101,本书架构:,第一章 Visual C+集成开发环境(IDE),第四章 创建应用程序框架,第五章 文档与视图,第六章 对话框与控件,第八章 图形设备接口(GDI),第七章 MFC原理,集成开发环境窗口项目窗口编辑窗口输出窗口菜单工具栏标题栏状态栏,第一章 Visual C+集成开发环境,项目资源文件源代码文件描述性文件,第一章 Visual C+集成开发环境,工具编辑器源代码编辑器资源编辑器编译器调试器应用程序向导类向导,第一章 Visual C+集成开发环境,应用程序向导单文档多文档对话框,第四章 创建应
2、用程序框架,类向导创建新的类定制类Message Maps添加消息映射函数重载父类虚函数Member Variables为对话框添加(关联)变量调试器添加断点调式命令(运行调试、单步、进入函数体、跳出函数体,变量查看、内存查看),第四章 创建应用程序框架,开发流程利用应用程序向导,创建单(多)文档应用程序框架利用资源编辑器,进行资源编辑,如添加菜单、工具条、快捷键等利用类向导添加消息响应函数实现消息响应函数利用类向导重载虚函数实现虚函数,第五章 文档与视图,文档与视图的分工 文档用于管理和维护数据 视图用来显示和编辑数据文档、视图与框架窗口之间的关系一个视图是一个没有边框的窗口,它位于主框架窗
3、口中的客户区。视图是文档对外显示的窗口,但它并不能完全独立,它必须依存在一个框架窗口内。一个视图只能拥有一个文档,但一个文档可以同时拥有多个视图。,第五章 文档与视图,主要函数,第五章 文档与视图,主要类,第五章 文档与视图,定时器使用设置:UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT*lpfnTimer)(HWND,UINT,YINT,WORD)例:SetTimer(1,20,NULL);删除killTimer(UINT nIDEvent)消息WM_TIMER,第五章 文档与视图,定时器名称,时间间隔,单位是毫秒,
4、回调函数,第五章 文档与视图,第五章 文档与视图,文档数据的永久保存:直接利用类CFile来实现文件的读写操功能在MFC应用程序中,序列化(Serialize)方式类的对象自己具备将状态值写入磁盘或从磁盘中读出的方法(即成员函数),这种对象的保存和恢复的过程称为序列化使得程序员可以不直接面对一个物理文件而进行文档的读写。,序列化函数Serialize()应用程序向导在生成应用程序时只创建了文档派生类序列化Serialize()函数的框架,由于不同程序的数据结构各不相同,可序列化的类应该重载Serialize()函数,使其支持对特定数据的序列化。并且,任何需要保存的变量(数据)都应该在文档派生类
5、中声明,第五章 文档与视图,void CMyDoc:Serialize(CArchive,CArchive类文档数据的序列化操作通过CArchive类对象作为中介来完成CArchive类对象由应用程序框架创建,并与用户正在使用的文件关联在一起CArchive类包含一个类CFile指针的成员变量,当创建一个CArchive类对象时,该对象与一个类CFile或其派生类的对象联系在一起,代表一个已打开的文件,第五章 文档与视图,磁盘,文件,文件,文件,Windows操作系统,文件句柄,文件句柄,文件句柄,MFC类库,CArchive,CDocument,CFile,软件,硬件,开发流程利用应用程序向
6、导,创建基于对话框应用程序框架(或者添加控件资源,并为该资源添加一个新的CDialog派生类)利用资源编辑器,添加并编辑控件,通过对控件属性的设置,可以设置控件的外观和功能利用类向导,添加对话框与控件之间的关联变量利用类向导,添加控件的消息处理函数实现消息处理函数相应功能,第六章 对话框及控件,对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据。,第六章 对话框及控件,Windows API函数:MessageBox(),可以在程序中任何地方使用MFC全局函数:AfxMessageBox(),可以在程序中任何地方使用CWnd类的成员函数CWnd:Messa
7、geBox(),只能用于控件、对话框、窗口等一些窗口类中,提示信息对话框,AfxMessageBox(“Left Mouse Click!”);,控件是嵌入在对话框中或其它父窗口中的一个特殊的小窗口,它用于完成不同的输入、输出功能静态控件文本控件(CStatic)图片控件(CStatic)组框控件(CButton)编辑控件(CEdit)按钮控件(CButton)单选按钮复选按钮按键按钮列表框控件(CBoxList)对话框通过控件来实现用户与应用程序交互功能的,第六章 对话框及控件,常用函数,第六章 对话框及控件,Window编程基础Windows API&SDKWindows程序核心事件驱动、
8、消息响应Windows开发资源+源代码MFC原理类库结构消息管理宏主要类,第七章 MFC原理和方法,Window程序基础,第七章 MFC原理和方法,Windows API&SDK,第七章 MFC原理和方法,Windows程序功能由以下三部分支撑(运行机制),第七章 MFC原理和方法,WinMain(),WndProc(),Windows 操作系统,MyRegisterClass():注册窗口及WndProc,InitInstance():创建及显示窗口,While(GetMessage()由消息队列得到消息,消息队列,发送消息,事件,DispatchMessage派发消息,调用窗口函数,处理消
9、息,所谓事件是对于Windows的某种操作,而消息就是用于描述某个事件发生的信息。事件和消息密切相关,事件是因,消息是果,事件产生消息,消息对应事件。所谓消息的响应,其实质就是对事件的响应。消息驱动是Windows应用程序的核心,所有的外部响应(如键盘、鼠标和计时器等)都被Windows先拦截,转换成消息后再发送到应用程序中的目标对象,应用程序根据消息的具体内容进行处理。消息不仅可由Windows发出,它也可由应用程序本身或其它程序产生。Windows为每一个应用程序都维护一个或多个消息队列,发送到每个程序窗口的,第七章 MFC原理和方法,MFC基本类CObject类:MFC的根类,描述了几乎
10、所有的MFC类的一些公共特性,MFC中大部分类都是是从CObject类继承而来的对象诊断:AssertValid()、Dump()运行时类型识别:CRunTimeClass结构保存对象所属类的运行时信息序列化:对象具有保存和加载其状态的能力工具类,第七章 MFC原理和方法,CCmdTarget类:消息映射类消息发送及映射功能光标设置CWnd类:所有窗口类(如视图、控件、对话框、框架等)的基类,第七章 MFC原理和方法,Windows消息分为三种类型:,MFC消息管理接收消息映射机制在类的实现文件(*.cpp)建立消息映射表(应用程序向导自动建立)在类的定义文件(*.h)声明消息映射(应用程序向
11、导自动建立)在消息映射表中添加新的消息映射(通过类向导自动添加)对新添加的消息映射添加消息处理函数(通过类向导自动添加),第七章 MFC原理和方法,发送Send(传送):消息接收对象手段消息后立即处理,只有当消息处理完成后,该函数才返回Post(寄送):该函数只将消息放到消息接收对象的消息队列即可,不待消息接收对象处理完消息后,就立即返回。自定义消息WM_USER开始手工添加消息映射、消息处理函数消息宏为:ON_MESSAGE(“消息定义”,“消息处理函数”),第七章 MFC原理和方法,图形设备接口(GDI)提供大量与设备无关的图形处理函数功能实现在Gdi32.dll环境变量(DC),第八章
12、图形处理,设备环境(DC)虚拟逻辑设备应用程序面向DC,而不是真实的物理设备(显示器等)。Windows操作系统自动将DC的信息,映射到物理设备使用GDI时,首先要获取一个DCDC是Windows管理的一个数据结构,保存了绘图操作中一些共同需要设置的信息。这个数据结构不能有程序直接存取、修改,而只能通过其句柄及GDI函数对其进行设置,第八章 图形处理,MFC设备环境类基类CDC封装GDI和DC:CDC类是MFC设备环境类的基类,又可以作为一般的设备环境类使用。利用CDC类可以访问和设置设备属性,并且CDC类对GDI的所有绘图函数进行了封装,因此可以通过调用CDC类的成员函数绘图函数,CDC派生
13、类CClientDCCPaintDCCWindowDC,第八章 图形处理,GDI坐标系逻辑坐标系面向DC设备坐标系面向物理设备,及鼠标位置屏幕坐标系窗口坐标系客户区坐标系CDC类:大多使用逻辑坐标系CWnd类:大多使用设备坐标系,第八章 图形处理,颜色的设置-COLORREF,Windows用COLORREF类型的数据存放颜色,它是一个32位整数。直接设置COLORREF数据不太方便,Windows提供了RGB宏用于设置颜色,将其中的红、绿、蓝分量值转换为COLORREF类型的颜色数据:RGB(byRed,byGreen,byBlue)其中参数byRed、byGreen和byBlue分别表示红
14、、绿、蓝分量值(范围0到255)。,0 x00,B,G,R,低,高,GDI对象Windows GDI提供了一些绘图对象,程序通过这些GDI对象设置绘图的工具和风格,这里的对象是指Windows数据结构,而不是C+类的对象MFC对GDI对象进行封装基类:CGdiObject,第八章 图形处理,图形显示(图形、文本、位图),第八章 图形处理,GDI对象,CDC:SelectObject(),GDI堆对象,CDC:SelectStockObject(),显示函数,对象恢复,对象创建,对象选择,显示,恢复,第八章 图形处理,练习,图形输出,练习,文本显示,练习,字体文档类负责初始化数据显示姓名的字体高度为:40显示专业的字体高度为:80显示学校的字体高度为:120显示学院的字体高度为:160文字颜色为红色,练习,图片显示,