版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC高级编程复习第一章VisualC++集成开发环境MFC、MSDN、IDE项目和项目工区:.dsp
.dsw.cpp.h.clw工作区窗口:类视图(ClassView)、资源视图(ResourceView)、文件视图(FileView)
第五章创建应用程序框架应用程序向导创建应用程序步骤及可程序类型?文档类、视图类、框架窗口类、应用程序类的各自功能?各资源标识符前缀的含义:ID_、IDR_、IDD_、IDC_等?AppWizard生成的文件类型后缀文件类型说明dsw工作区文件将项目详细情况组合到其中dsp项目文件存储项目的详细说明hC++头文件存储类及其成员的声明代码cppC++源文件存储类成员函数的实现代码rc资源脚本文件存储菜单、工具栏、对话框资源rc2资源文件用于将资源包含到项目中ico图标文件存储应用程序图标bmp位图文件存储各种位图clw类向导文件存储类向导使用的类信息ncb没有编译的浏览文件保留类视图和类向导使用的详细情况opt可选项文件存储自定义的工作区的显示情况MFC中资源标识符前缀标识符前缀说明IDR_主菜单、工具栏、图标和快捷键表资源IDD_对话框资源IDC_各种控件和光标IDS_字符串资源IDP_信息对话框的字符串ID_菜单命令项应用程序类的继承关系示意图类的命名规则
classNameC+projectName+classType文档与视图的关系:一个文档能拥有几个视图,一个视图能拥有几个文档?采用分离机制将数据的管理和显示分作两部分,数据管理和维护由文档负责,数据的显示和编辑由视图负责。文档模板:描述了对应于每一种类型文档的视图和窗口的类型,由其来确立文档、视图、框架和各种资源之间的固定关系。文档/视图的相互作用函数(1)视图类的GetDocument()函数:函数作用(2)文档类的UpdateAllViews()函数:函数作用(3)视图类的OnUpdate()函数:函数作用第六章文档和视图菜单栏设计:菜单类CMenu
命令更新:菜单项状态的维护是依赖CN_UPDATE_COMMAND_UI消息工具栏设计:CToolBar类
状态栏设计:CStatusBar类
indicators数组classWizard类向导功能鼠标消息处理:主要的鼠标消息:WM_MOUSEMOVE:鼠标移动WM_LBUTTONDOWN:左键按下WM_LBUTTONUP:左键弹起WM_LBUTTONDBLCLK:双击左键WM_RBUTTONDOWN:右键按下WM_RBUTTONUP:右键弹起WM_RBUTTONDBLCLK:双击右键8.
序列化:概念:对象可以将其当前状态(由其成员变量的值表示)写入永久性存储体(通常是指磁盘)中,以后可以从永久性存储体中读取(载入)对象的状态,从而重建对象。类的对象自己应该具备将状态值写入磁盘或从磁盘中读出的方法(即成员函数),这种对象的保存和恢复的过程称为序列化。
MFC应用程序文档的序列化方法:Serialize()自定义类的序列化:类必须直接或间接地从CObject类派生而来;类必须定义一个不带参数的构造函数;在类的头文件中使用DECLARE_SERIAL宏,在类的实现文件中使用IMPLEMENT_SERIAL宏;在自定义类中重载序列化成员函数Serialize()。
对话框类:CDialog由于对话框是一个特殊的窗口,所以该类是从CWnd类中派生出来的。对话框有两种类型:模态对话框和非模态对话框。模态对话框在应用程序能够继续执行之前必须被关闭掉。即当我们显示一个模态对话框时应用程序就会暂停,直到我们关闭对话框我们才能继续执行程序中的其他任务。非模态对话框允许我们在显示对话框时转而执行程序的其他任务而不用关闭对话框。第七章对话框和标准控件模态对话框的创建CDialog::DoModal
()例如弹出模态对话框:CMyDialogdialog;dialog.DoModal();非模态对话框的创建CDialog::Create()CWnd::ShowWindow()
提示信息对话框intAfxMessageBox()intMessageBox()CWnd:MessageBox()
对话框的组成对话框模板对话框模板定义了对话框的特性(比如大小、位置和风格)以及对话框中每个控件的类型和位置。对话框类
从CDialog类派生的对话框类提供编程接口来管理与对话框模板相关联的对话框。使用对话框(掌握其编程方法)创建和使用对话框的主要步骤创建对话框模板资源和相关控件;用类向导创建对话框类和与控件相关联的成员变量和消息处理函数;设计程序访问接口来显示对话框并获取与控件相关联的程序数据。对话框控件访问几种方式GetDlgItem()->Get(Set)WindowText()GetDlgItemText()/SetDlgItemText()将控件和变量相关联将控件和控件变量相关联对话框DDX/DDV机制
BOOL
UpdateData(
BOOL
bSaveAndValidate
=
TRUE
);
当调用UpdateData(TRUE)时,MFC通过调用DDX函数将数据从控件传递到关联的成员变量;当调用UpdateData(FALSE)时,MFC通过调用DDX函数将数据从成员变量传递到关联的的控件。利用UpdateData()函数实现了在刷新后重新获取成员变量。标准控件
标准控件:静态控件、编辑框、按钮、列表框、组合框和滚动条等。
公共控件:滑块、进度条、列表视控件、树视控件和标签控件等MFC以类的形式对标准控件和公共控件进行了封装,这些类大部分是从CWnd类直接派生而来。静态控件静态控件用于显示提示字符串或图形信息。包括静态文本(StaticText)、图片控件(PictureControl)和组框(GroupControl)三种类型。管理静态文本控件和图片控件的MFC类是CStatic类管理组框的MFC类是CButton类。
编辑框
例:通过“编辑”菜单中的“输入半径(I)”命令打开“输入半径”对话框,并根据输入的半径画一个圆。
按钮
按钮(Button)包括按键按钮、单选按钮、复选框和组框等4种类型。
封装按钮控件的MFC类都是CButton类。按钮例
编写一个SDI应用程序Password,程序启动后首先弹出一个如图所示的用户身份确认对话框,当用户键入正确的口令后才能进入程序的主界面。
列表框CListBox类的成员函数:GetCount
获取列表框中字符串的数目 GetItemDataPtr
获取一个指向列表框项的指针 GetSel
获取一列表框项的选择状态 SetColumnWidth
设置一多列列表框的宽度 GetCurSel
获取列表框中当前所选串的索引(从零开始) SetCurSel
选择一列表框串 AddString
在列表框中增加一个列表项
DeleteString
从列表框中删除指定的列表项
InsertString
在列表框中指定位置处插入一个列表项 ResetContent
清除列表框中所有列表项 FindString
在列表框中查找一个前缀匹配的列表项FindStringExact
在列表框中查找完全匹配的列表项SelectString
查找并选择单列表框中的一个列表框串 组合框
简单组合框——是一个列表框和编辑框的组合,下拉组合框——多加一个下拉按钮,下拉列表框——与前类相似,只是无法使用编辑框。ComboBox的风格属性:在各控件原属性基础上,属性控制页中新增了一个“Data”标签页,用于接受列表项的初始化(用Ctrl+Enter换行)。第八章mfc原理1.Windows应用程序特点:Windows应用程序是按照“事件→消息→处理”非顺序的机制运行。Windows是一个基于事件的消息驱动系统。所谓消息就是用于描述某个事件发生的信息,而事件是对于Windows的某种操作。消息驱动是Windows应用程序的核心,所有的外部响应(如键盘、鼠标和计时器等)都被Windows先拦截,转换成消息后再发送到应用程序中的目标对象,应用程序根据消息的具体内容进行处理。Windows为每一个应用程序都维护一个或多个消息队列,发送到每个程序窗口的消息都排成一个队列。
事件和消息
Windows消息分为三种类型:标准Windows消息:以WM_前缀(但不包括WM_COMMAND)开始的消息,包括鼠标消息、键盘消息和窗口消息等。控件通知(ControlNotification)消息:对控件操作引起的消息,是控件和子窗口向其父窗口发出的WM_COMMAND通知消息。命令(Command)消息:由菜单项、工具栏按钮、快捷键等用户界面对象发出的WM_COMMAND消息。句柄:在Windows中,用句柄标识应用程序中不同的对象和同类对象中不同的实例,如一个具体的窗口、按钮、输出设备、画笔和文件等WinMain()函数为Windows应用程序的入口点函数。MFC类库结构CObjectCCmdTargetCWnd应用类结构窗口支持异常类文件服务类文档类框架窗口类控制条类属性页表类对话框类视图类控件类图形设备环境类控制支持类Windows套接字类图形对象类菜单类ODBC支持类DAO支持类同步类其它类:Internet支持类自动化类型运行时刻对象支持简单值类型结构其它支持类集合模板类用于同步的类数组类列表类映射类Internet类MFC框架的基本类消息映射类CCmdTarget该类是CObject的子类,是MFC类库中所有具有消息映射属性的基类,消息映射规定了当对象接到命令消息时,应调用哪一个函数对该消息进行处理。命令消息是来自菜单项、命令按钮和加速键的信息,由CCmdTarget派生出的主框架类包括CView、CWinApp、CDocument、CWnd和CframeWnd都可处理命令消息。MFC框架的基本类CWinApp应用程序类负责初始化和运行应用程序程序开始运行后创建的第一个对象,并且是程序结束前最后一个清除的对象负责创建其他对象,包括窗口、视图和文档通常应用程序类都是CWinApp的子类,默认命名规则是CXXXApp,其中XXX为应用程序名称MFC框架的基本类CFrameWnd应用程序框架窗口类负责显示交互界面,包括菜单和工具栏等MFC框架的基本类CDocument应用程序文档类负责加载和维护文档默认命名规则CXXXDoc,XXX为应用程序名CView应用程序视图类一个文档可以对应几个不同的视图(对应不同的显示方式)默认命名规则CXXXView,XXX为应用程序名第九章图形处理GDI:Windows提供了一个称为图形设备接口GDI(GraphicsDeviceInterface)的抽象接口,用户通过调用GDI函数与设备打交道,GDI通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了直接对硬件进行操作,从而实现所谓的设备无关性。设备环境为了实现设备无关性,应用程序的输出不直接面向显示器等物理设备,而是面向一个称之为设备环境DC(DeviceContext)的虚拟逻辑设备。MFC设备环境类:CDC、CPaintDC、CClientDC、CWindowDC、CMetaFileDC等。CDC类既作为其它MFC设备环境类的基类,又可以作为一个一般的设备环境类使用。CDC*dc=GetDC();dc->TextOut(0,0,"文本");ReleaseDC(dc);CPaintDC类是OnPaint()函数使用的设备环境类,它代表一个窗口的绘图画面。如果添加WM_PAINT消息处理函数OnPaint(),就需要使用CPaintDC类定义设备环境对象。CPaintDCdc(this);CClientDC类代表了客户区设备环境。当在客户区实时绘图时,需要利用CClientDC类定义一个客户区设备环境。 CClientDCdc(this);dc.MoveTo(point1);dc.LineTo(point2);CWindowDC类代表了整个程序窗口设备环境,可以在整个窗口区域绘图。
CMetaFileDC类用于创建一个Windows图元文件设备环境MFC设备环境类:颜色Windows用COLORREF类型的数据存放颜色,它是一个32位整数。COLORREF类型数据的低位字节存放红色强度值,第2个字节存放绿色强度值,第3个字节存放蓝色强度值,高位字节为0,每一种颜色分量的取值范围为0到255。
使用画笔(掌握)使用自定义的画笔:创建一个指定风格的画笔,创建的画笔选入设备环境,在使用该画笔绘图结束后需要释放该画笔。
创建画笔方法1:CPenpen(PS_DASH,1,RGB(255,0,0));方法2:CPenpen;pen.CreatePen(PS_DASH,1,RGB(255,0,0));(2)选用画笔
CPen*pOldPen;
pOldPen=pDC->SelectObject(&pen);
pDC->MoveTo(100,100);
pDC->LineTo(200,200)(3)还原画笔pDC->SelectOb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于临时签订合同报告
- 国企劳动派遣合同
- 合同法案例精解
- 钟点工聘用合同范本
- 大班课件《谁是采蜜冠军》
- 2024正规的自然人借款合同样本
- 2024合同信息化管理系统【信息系统合同】
- 2024个人租房协议书合同租房协议书(详细版)
- 2024标准销售业务员合同范本
- 2024个体借款合同协议模板
- 妇科人工流产女性落实高效避孕措施依从性低原因分析鱼骨图柏拉图对策拟定
- 江苏省南师附中2023-2024高一上学期期中数学试卷及答案
- 无缝线路完整
- 外阴阴道炎症
- 南平市建阳区发电有限责任公司宸前水力发电厂增效扩容改造工程环境影响报告
- 压力容器及压力管道课件
- 部编版小学语文六年级上册《童年》阅读测试题及答案(全册)
- 山东省济南市历城区2023-2024学年五年级上学期期中数学试卷
- 基本消防知识考试题库200题(通用版)
- PBL教学法在临床护理教学中的应用
- 23秋国家开放大学《法律咨询与调解》形考任务1-4参考答案
评论
0/150
提交评论