VC中MFC绘图详细教程.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前一页 休息 * 第十章 图形设备接口 中国地质大学信息工程学院 林伟华 Visual C++ * 本章主要内容 设备环境 GDI对象 使用画笔 使用画刷 输出文本 映射模式 显示位图 * GDI GDI(Graphics Device Interface) (1)GDI和Windows 设备驱动程序来支持设备无关性。 (2)负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字。 (3)应用程序主窗口、菜单、对话框都由GDI绘制 GDI * 设备环境 设备环境 设备环境(Device Context)(有译为设备描述表、设备上下文) (1)是绘图属性(字体、颜色等)和方法(各种绘图函数)的集合 (2)是一个用来确定或改变任何设备的GDI输出位置和形象的属性集合 CDC类 CClientDC CWindowDC CPaintDC CMetaFileDC * (1)CWindowDC 和CClientDC CPaintDC区别 CWindowDC提供客户区和非客户区画图的设备环境;坐标原点在屏幕左上角 CClientDC CPaintDC提供画图的设备环境;坐标原点在客户区左上角 (2) CClientDC 和CPaintDC区别 CPaintDC是响应WM_PAINT消息,用在OnPaint()函数中;只支持屏幕显示 CClientDC不响应WM_PAINT消息,只担负此时的绘图工作;支持屏幕显示,也支持打印 CDC常用函数(参见MSDN) 设备环境 设备环境 * 获取设备环境 (1)使用GetDC()函数 CDC *CWnd GetDC() int ReleaseDC(CDC * pDC ) (2)直接构造CDC对象 用声明一个CDC类或其派生类对象的方式来获取设备环境 CClientDC dc(CWnd *) 设备环境 设备环境 * GDI对象提供更丰富的图形操作函数,设备环境类提供函数进行简单的图形绘制 CGdiObject CBitmap CBrush CPalette CPen CRgn GDI对象 GDI对象 * 使用画笔、画刷 使用画笔、画刷 (1)构建画笔、画刷 CPen( ); CPen( int nPenStyle, int nWidth, COLORREF crColor ); CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL ); nPenStyle:参看课本P146 nWidth: 1时,第一个参数中的PS_DASH(虚线)、PS_DOT(点线)、PS_DASHDOT(点划线)、PS_DASHDOTDOT(双点划线)无效 crColor:RGB(255,255,255)颜色 CBrush( COLORREF crColor ); CBrush( int nIndex, COLORREF crColor ); CBrush( CBitmap* pBitmap ); crColor:RGB(255,255,255)颜色 nIndex:画刷阴影线风格 pBitmap:位图画刷 * (2)选入画笔:将该画笔选入到设备环境中 CPen * SelectObject(CPen * pPen) CBrush * SelectObject(CBrush * pBrush) virtual CFont * SelectObject(CFont * pFont) int SelectObject(CRgn * pRgn) (3)调用绘图函数输出 使用画笔、画刷 使用画笔、画刷 * 输出文本 输出文本 (1)声明字体对象 CFont NewFont; (2)创建字体 CreateFont( int nheight,int nWidth,//高,宽 int nEscapement, //每行文字相以于页底的角 int nOrienation, //每个….. DWORD nWeight , //字体粗细 DWORD dwltalic, //非零表示倾斜 DWOR

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档