- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC6.0入门【第5章图形和文本输出】
第5章 图形和文本输出
精讲
Windows使用图形设备接口(GDI)进行图形输出和文本输出,MFC封装了GDI对象,提供了CGdiObject类和CDC类支持图形输出和文本输出,本章你将学习使用CGdiObject类和CDC类在视图中输出各种图形和文本的方法和技巧。
5.1图形设备接口和CDC
5.1.1图形设备接口(GDI)
Windows操作系统通过图形设备接口,简称GDI (Graphics Device Interface),管理Windows程序的所有图形输出,包括显示在屏幕上的窗口,屏幕保护程序的运行,文档的打印。GDI处理与不同输出设备的连接,从而应用程序开发者不需要去考虑基础硬件设备之间的不同。
应用程序可以使用GDI创建3种类型的图形输出:矢量图形、光栅图形和文本。
矢量图形
矢量图形输出是指创建线和填充图形,包括点、直线、曲线、多边形、扇形和矩形。
光栅图形
光栅图形输出是指光栅图形函数对以位图形式存储的数据进行操作,它包括各种位图和图标的输出。在屏幕上表现为对若干行和列的像素操作,在打印机上则是若干行和列的点阵输出。光栅图形是直接从内存到显存的拷贝操作,所以速度快,但是对内存要求高。
文本
文本输出是GDI的另一项任务。输出文本时文本的输出位置的计算不是以行为单位,而是以逻辑坐标为单位计算。用户可以设置文本的各种效果,如加粗、斜体、设置颜色等。
MFC处理图形输出是通过设备上下文CDC类和图形对象CGdiObject类来完成的。
5.1.2 绘图工具GDI对象CGdiObject
CGdiObject是MFC提供绘图工具的类,它的派生类包括画笔(CPen)、画刷(CBrush)、字体(CFont)、位图(CBitmap)、调色板(CPalette)、区域(CRgn)等,它们的继承关系如图5-1所示。
图5-1 CGdiObject类的构成
各个派生类的任务是:
画笔(CPen)
封装GDI画笔,用于绘制对象的边框以及直线和曲线。默认画笔用于绘制与一个像素等宽的黑色实线。
画刷(CBrush)
封装GDI画刷。画刷是用来填充一个封闭的图形对象(如矩形,圆形)的内部区域。默认的画刷颜色是白色。
字体(CFont)
封装GDI字体对象,用户可以建立一种GDI字体,并使用CFont的成员函数来访问它。主要影响文本输出的效果,包括文字的大小、是否加粗、是否斜体、是否加下划线等。
位图(CBitmap)
封装GDI位图,提供成员函数装载和位图操作,位图可以用于填充区域。
调色板(CPalette)
封装GDI调色板,保存系统可用的色彩信息,是应用程序和彩色输出设备上下文的接口。
区域(CRgn)
封装GDI区域。区域是窗口内的一块多边形或椭圆形区域。CRgn用于设备上下文(通常是窗口)内的区域操作。CRgn通常与CDC类中与裁剪(clipping)有关的成员函数配合使用。
5.1.3设备描述表(DC)
设备上下文(Device Context),简称DC,是由GDI创建用来代表设备连接的数据结构。DC的主要功能有:
允许应用程序使用一个输出设备。
提供窗口应用程序,设备驱动,和输出设备之间的连接。
保存当前信息,例如在一个窗口内绘图使用的颜色,画笔的宽度、画刷的类型等等。
保存窗口剪取区域(clipping region),限制程序输出到输出设备中窗口覆盖的区域。
5.1.4设备上下文类(CDC)
MFC封装了DC,提供CDC类及它的子类访问GDI,如图5-2所示,各类作用介绍如下。
图5-2 CDC及子类
CDC类
封装了所有图形输出函数,包含了一个DC的创建和初始化,及通用GDI对象的操作,包括画简单图形(如线、矩形、椭圆)和复杂的功能(如区域、位图、剪切区域)的操作。CDC类的适应范围最广,不仅能支持窗口,还能支持打印机。
ClientDC类
CClientDC又名客户区设备上下文,用于客户区的输出,一般在响应非窗口消息并对客户区绘图时要用到该类,例如在鼠标双击时要输出文本等。
CPaintDC
CPaintDC用于响应窗口重绘消息(WM_PAINT)的绘图输出,不仅可对客户区进行操作,还可以对非客户区进行操作。
CWindowDC
CWindowDC用于窗口客户区和非客户区(包括窗口边框、标题栏、控制按钮等)的绘制,除非要自己绘制窗口的边框和按钮,否则一般不用它。
CMetaFileDC
CMetaFileDC专门用于图元文件的绘制。图元文件记录一组GDI操作命令,可以通过这一组GDI命令重建图形输出。使用CMetaFileDC时,所有的图形输出命令会自动记录到一个与CMetaFileDC相关的图元文件中。
5.1.5 OnDraw函数
当用AppWizard创建单文档或多文档应用程序时
您可能关注的文档
- TED_如何面对压力(个人笔记).doc
- SystemView实验报告[全].doc
- SQLSERVER2008安装时候提示“该实例名称已在使用”解决办法.doc
- Uber[优步]优惠券使用方法.doc
- TD_SCDMA基站无线勘察与设计.doc
- uber优步苹果手机安装的教程.doc
- Ubuntu常用软件[工具)介绍.doc
- TOAFS_9000公共广播标准方案.doc
- SX_TTIV流动实训考核车(给青教授).doc
- ToadforDB2解决的方案.doc
- 2025年河南工业大学招聘非事业编(人事代理)工作人员12名考试备考试题及答案解析.docx
- 停车场运营维护管理投标方案(334页)_301-334.docx
- 2025贵州六盘水六枝特区黔航产业运营(集团)有限责任公司招聘20人考试备考试题及答案解析.docx
- 2025六枝特区黔发城市运营(集团)有限责任公司招聘25人考试备考试题及答案解析.docx
- 2025年武汉市消防招聘350名政府专职消防员考试备考试题及答案解析.docx
- 2025湖南郴州宜章县投资发展集团矿业有限公司招聘1人考试备考试题及答案解析.docx
- 2025年濮阳杂技艺术学校招聘高中教师74人考试备考试题及答案解析.docx
- 2025河南洛阳机车高级技工学校招聘教师16人考试备考试题及答案解析.docx
- 2025贵州六盘水盘州市“特岗计划” 实施考试备考题库及答案解析.docx
- 2025城镇污水零直排区建设技术规范第5部分运行维护.docx
最近下载
- Rexroth PSI 6xCx.632xx 博世焊机中文说明书.pdf VIP
- 初中数学(初二)竞赛讲义(知识点难点梳理、重点题型分类举一反三)(家教、补习、竞赛专用).pdf VIP
- 2024~2025学年八年级数学上册第10讲 因式分解(知识梳理+11考点+过关检测)【自主学习】-2024年新八年级数学暑假提升精品讲义(华东师大版)「含答案」.pdf VIP
- 名词单数变复数专项练习题(含答案).doc VIP
- 煤矿通风专业安全生产标准化质量控制管理规定.docx VIP
- 初二数学.春.直升班.教师版.第9讲 梅涅劳斯定理.pdf VIP
- 溶液聚合法年产2万吨聚丙烯酰胺的生产工艺设计.pdf VIP
- 中考数学一轮复习讲义.pdf VIP
- 2024-2025学年统编版高一语文必修下册名句默写练习.docx VIP
- 屠宰监管培训课件.pptx
文档评论(0)