- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC框架的基本类 CWinApp 应用程序类 负责初始化和运行应用程序 程序开始运行后创建的第一个对象,并且是程序结束前最后一个清除的对象 负责创建其他对象,包括窗口、视图和文档 通常应用程序类都是CWinApp的子类,默认命名规则是CXXXApp,其中XXX为应用程序名称 MFC框架的基本类 CFrameWnd 应用程序框架窗口类 负责显示交互界面,包括菜单和工具栏等 MFC框架的基本类 CDocument 应用程序文档类 负责加载和维护文档 默认命名规则CXXXDoc,XXX为应用程序名 CView 应用程序视图类 一个文档可以对应几个不同的视图(对应不同的显示方式) 默认命名规则CXXXView,XXX为应用程序名 第九章 图形处理 GDI:Windows提供了一个称为图形设备接口GDI(Graphics Device Interface)的抽象接口,用户通过调用GDI函数与设备打交道,GDI通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了直接对硬件进行操作,从而实现所谓的设备无关性。 设备环境 为了实现设备无关性,应用程序的输出不直接面向显示器等物理设备,而是面向一个称之为设备环境DC(Device Context)的虚拟逻辑设备。 MFC设备环境类: CDC、CPaintDC 、CClientDC、CWindowDC、 CMetaFileDC等。 CDC类既作为其它MFC设备环境类的基类,又可以作为一个一般的设备环境类使用。 CDC *dc=GetDC(); dc-TextOut(0, 0,文本); ReleaseDC(dc); CPaintDC类是OnPaint()函数使用的设备环境类,它代表一个窗口的绘图画面。如果添加WM_PAINT消息处理函数OnPaint(),就需要使用CPaintDC类定义设备环境对象。 CPaintDC dc(this); CClientDC类代表了客户区设备环境。当在客户区实时绘图时,需要利用CClientDC类定义一个客户区设备环境。 CClientDC dc(this); dc.MoveTo(point1); dc.LineTo(point2); CWindowDC类代表了整个程序窗口设备环境,可以在整个窗口区域绘图。 CMetaFileDC类用于创建一个Windows图元文件设备环境 MFC设备环境类: 颜色 Windows用COLORREF类型的数据存放颜色,它是一个32位整数。 COLORREF类型数据的低位字节存放红色强度值,第2个字节存放绿色强度值,第3个字节存放蓝色强度值,高位字节为0,每一种颜色分量的取值范围为0到255。 使用画笔(掌握) 使用自定义的画笔: 创建一个指定风格的画笔, 创建的画笔选入设备环境, 在使用该画笔绘图结束后需要释放该画笔。 创建画笔 方法1:CPen pen(PS_DASH,1,RGB(255,0,0)); 方法2:CPen pen; 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-SelectObject(pOldPen); //恢复原先画笔 pen.DeleteObject(); //删除自定义GDI画笔,清除内存 CPen newpen; newpen.CreatePen(PS_SOLID,1,RGB(255,0,0)); CPen *oldpen=pDC-SelectObject(newpen); .....//图形绘制 pDC-SelectObject(oldpen); newpen.DeleteObject(); 使用画刷(掌握) CBrush brushNew,*brushOld; brushNew.CreateSolidBrush(RGB(255, 0, 0)); brushOld=pDC-SelectObject(brushNew); .....//绘制几何图形 pDC-SelectObject(brushOld); brushNew.DeleteObject(); 编程时最常用的文本输出函数是TextOut()函数,该函数只能输出单行文本。 要绘制多行文本可以调用DrawText()函数 另一个函数ExtTextOut()可以用一个矩形框对输出文本串进行裁剪。 绘制文本 位图
文档评论(0)