MFC图形设备接口和资源.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC图形设备接口和资源

Visual C++与面向对象程序设计教程 第12章 图形设备接口和资源 计算机教学实验中心 教学目标 Windows的图形设备接口 MFC的设备环境类和图形对象 资源的概念和编程方法 学习要求 了解 图形设备接口和资源的基本概念 掌握 掌握画笔、画刷、位图以及菜单等对象和资源的用途和编程方法 学会 简单的动画编程和Developer Studio的各种资源编辑器的使用方法 授 课 内 容 12.1 设备环境类和图形对象 12.2 Windows应用程序资源 12.3 库存图形对象 12.4 画笔与画刷 12.5 位图 12.6 菜单 调试技术 程序设计举例 12.1 设备环境类和图形对象 设备环境 图形设备接口 设备环境 在Windows程序中,应用程序的输出并不直接面向物理的设备,如显示屏或打印机,而是针对一个称之为设备环境(Device Context)的逻辑设备进行操作,设备环境与实际设备之间的信息传送由Windows直接管理。 设备环境类 CDC类 CPaintDC CClientDC CWindowDC CMetaFileDC 图形对象类 CGdiObject类 CPen CBrush Cfont Cbitmap Cpalette CRgn 12.2 Windows应用程序资源 资源:是一种数据,它包含了决定程序的用户界面的文本和图形。 资源所决定的界面元素有: 菜单 加速键 位图、光标、图标 对话框、控件 字符串 工具栏 资源脚本文件和资源头文件 资源文件 .rc 定义资源内容 资源通过资源标识符加以区别 资源头文件 Resource.h 定义一个项目中所有的资源标识符 12.3 库存图形对象 CGdiObject Class Members CGdiObject::CreateStockObject BOOL CreateStockObject( int nIndex ); Return Value Nonzero if the function is successful; otherwise 0. 掌握SelectStockObject()方法 不必存储和恢复原来的图形对象 例12-1 用鼠标切换椭圆的图形参数 修改文档类的定义(头文件),加入二个变量定义: class CMyDoc : public CDocument { protected: // create from serialization only CMyDoc(); DECLARE_DYNCREATE(CMyDoc) // Attributes public: int m_nColor; CRect m_rectEllipse; // Operations public: …(以下省略文档类的其它定义语句) } 例12-1 用鼠标切换椭圆的图形参数(续1) 修改文档类的OnNewDocument函数,对变量进行初始化: BOOL CMyDoc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; // TODO: add reinitialization code here // (SDI documents will reuse this document) m_rectEllipse = CRect(100,100,300,250); m_nColor = 0; return TRUE; } 例12-1 用鼠标切换椭圆的图形参数(续2) 修改视图类的OnDraw函数,加入显示椭圆代码: void CMyView::OnDraw(CDC* pDC) { CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here switch(pDoc-m_nColor) //根据颜色变量值决定用不同的画刷 {case 0: pDC-SelectStockObject(GRAY_BRUSH);break; case 1: pDC-SelectStockObject(LTGRAY_BRUSH);break; case 2: pDC-SelectStockObject(BLACK_BRUSH);break;} pDC-Ellipse(pDoc-m_rectEllipse); //画椭圆 } 例12-1 用鼠标切换椭圆的图形参数(续3) 用ClassWizard建立鼠标左键的消息处理函数,并加入代码

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档