




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教材:《C++面向对象程序设计》李涛主编游洪跃陈良银李琳等编高等教育出版社2006年2月出版本书内容第1章绪论第2章C++类和对象第3章继承第4章多态性第5章模板第6章C++常见问题第7章VisualC++编程基础第8章对话框、常用消息、菜单和工具条第9章单文档界面和多文档界面、图形设备接口实验(待安排)2023/3/16济南大学自动化学院2单文档界面和多文档界面2023/3/16济南大学自动化学院3MFC编程132WindowsAPI编程Windows程序运行机制
文档对象和视图对象文档对象:文档对象用于存储程序数据,在应用程序中,要使数据存放到文档对象中,就应将存储的数据作为文档对象的成员变量。MFC的文档类由Cdocument类所派生视图对象:显示文档数据以及接受用户的输入和编辑,视图对象的一个非常重要的成员函数是OnDraw()函数,每当窗口需要重画时就将调用此函数,MFC的视图类由Cview类所派生。2023/3/16济南大学自动化学院4文档和视图的关系文档用于数据处理和维护,而视图则用于数据的显示,在文档/视图结构的应用程序编程中,主要的工作就是用代码操作文档对象与视图对象。在关于文档对象与视图对象的代码中一般要调用方法Cview::GetDocument()通过GetDocument()可以返回指向联系的视图对象,一般地,当视图为人机交互界面时,如果用户在视图中对文档数据进行编辑,视图将接收到此消息,再发送消息通知文档对象更新文档数据,这时可用GetDocument()得到被操作的文档对象。2023/3/16济南大学自动化学院5单文档界面与多文档界面单文档界面:单文档应用程序执行时,在同一时刻只能打开一个窗口,每次只能打开一个文档,只有将当前处理的文档存盘后,才能调入其它文件。多文档界面:在VisualC++6.0中,多文档界面应用程序在执行时可同时打开多个窗口,每个窗口中都可打开一个文档。用AppWizard生成单文档应用程序时,派生出文档类、视图类、主窗口类和应用程序类。生成多文档应用程序,它有一个主窗口和嵌在该窗口中的子窗口,具有CChildFrame类,每个窗口可以使用不同的文档模板。2023/3/16济南大学自动化学院6图形设备接口在Windows中向屏幕或打印机上绘图时,需要调用GDI(图形设备接口)函数,GDI与设备驱动程序实现了设备无关的图形操作。设备描述符表DC(DeviceContex)是Windows的一个数据结构,用来确定GDI输出的位置和形象的属性集合,如背景、调色板、字体、刷子等。2023/3/16济南大学自动化学院7CDC类在VisualC++6.0中,MFC将设备描述符(DC)和图形设备接口(GDI)都封装在CDC类中CDC类既包含了有关设备的属性,同时又包含了绘图方法MFC还提供了CDC的派生类CPaintDC类、CClientDC类和CWindowDC类支持绘图操作。CClientDC类支持在客户区绘图,CWndowDC类支持在整个窗口绘图。CClientDC类与CWndowDC类支持实时响应,CPaintDC类用于重画。也就是说用CClientDC和CWindowDC类绘图时,显示器会将立即显示,而用CPaintDC类绘图时,要到下次重画时才显示。2023/3/16济南大学自动化学院8CDC类的绘图函数SetPixel():用于在指定坐标处按指定色彩画一点,函数的原型有两种形式:COLORREFSetPixel(intx,inty,COLORREFcrColor);COLORREFSetPixel(POINTpoint,COLORREFcrColor);函数的返回值为所画点原来的颜色,其中,crColor为所画点的新颜色,(1)中的参数x和y表示点的坐标;(2)中的位置坐标用POINT结构变量来表示x和y的点的坐标。2023/3/16济南大学自动化学院9CDC类的绘图函数MoveTo():画线时的当前位置可以通过MoveTo()设定,函数的原型有两种形式。CPointMoveTo(intx,inty);CPointMoveTo(POINTpoint);函数返回值为MoveTo()函数执行前的当前位置2023/3/16济南大学自动化学院102023/3/16济南大学自动化学院11CDC类的绘图函数LineTo():函数的功能是从当前坐标位置向指定坐标点画一条直线,且后一个坐标点在画线完成后自动变成当前绘图位置。函数原型为以下两种形式:BOOLLineTo(intx,inty);BOOLLineTo(POINTpoint);如果直线已画好,函数返回TRUE,否则返回FALSE。CDC类的绘图函数Rectangle():函数的功能是使用当前选定的画笔绘制一个矩形,并使用当前选定的画刷填充矩形,函数原型为:BOOLRectangle(intx1,inty1,intx2,inty2);BOOLRectangle(LPCRECTlpRect);对其中的参数说明如下:(x1,y1):矩形左上角的坐标。(x2,y2):矩形右下角的坐标。lpRect:指向矩形的指针。2023/3/16济南大学自动化学院12CDC类的绘图函数Ellipse():函数的功能是使用当前选定的画笔绘制一个椭圆,并使用当前选定的画刷填充椭圆,函数原型为:BOOLEllipse(intx1,inty1,intx2,inty2);BOOLEllipse(LPCRECTlpRect);对其中的参数说明如下:(x1,y1):包围椭圆的矩形区域左上角的坐标。(x2,y2):包围椭圆的矩形区域右下角的坐标。lpRect:用于定义包围椭圆的矩形区域。2023/3/16济南大学自动化学院132023/3/16济南大学自动化学院14CDC类的绘图函数Polygon():函数的功能是生成一个封闭的多边形,函数原型为:BOOLPolygon(LPPOINTlpPoints,intnCount);对其中的参数说明如下:lpPoints:是一个由多边形的顶点组成的数组。nCount:多边形的顶点个数。CPaintDC、CPaintDC、CClientDC和CWindowDC类CPaintDC类主要用于消息处理函数OnPaint()。OnPaint()是ON_PAINT消息的消息响应函数。WM_PAINT消息在窗口被刷新、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030紫水晶耳环行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030淋浴器产业规划专项研究报告
- 2025-2030橘子罐头行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030服装行业市场发展分析及投融资与风险研究报告
- 2025-2030挂耳咖啡市场市场现状供需分析及投资评估规划分析研究报告
- 小学六年级厨艺劳动课程教学计划
- 辽宁省七校协作体2024-2025学年高二下学期3月联考历史试题(解析版)
- 日用品质量控制与流程优化
- 财务部日常运营职责分析
- 建筑工程投资控制管理措施
- 沪教2011版五年级美术下册《装点我们的生活》评课稿
- 临时用电安全专项检查表、临电安全检查表
- 股东出资协议书(公司未成立之前注册股期股回购)
- 21 青蛙卖泥塘(一等奖创新教案)
- 《矿业权评估指南》
- 专题01《水银花开的夜晚》 高考语文二轮复习
- 电工日常巡视维修工程记录
- GB/T 14388-1993木工硬质合金圆锯片
- 二月份循证护理查房课件
- JJF(湘) 09-2018 纯水-超纯水系统监测仪表(电导率)计量校准规范-(高清现行)
- 大一下【世界古代史】期末复习资料
评论
0/150
提交评论