Visual C++程序设计与应用教程课后答案(2)
(3) CPen和CFont均是GDI对象。 (4) 深绿色RGB值为(0,128,0) (5) 删除CPen对象可调用CPen对象的DeleteObject( )函数。 (6) 创建阴影画刷函数是CreateHatchBrush( )。 (7) 默认的对齐方式是TA_LEFT| TA_BOTTOM。 (8) DDB又称GDI位图,它依赖于具体设备,只能存在于内存中。 4.简答题
( t ) ( t ) ( f ) ( t ) ( f ) ( t )
(1) GDI创建哪几种类型的图形输出?
应用程序可以使用GDI创建3种类型的图形输出:矢量图形、光栅图形和文本。 (2) 什么是设备环境?它的主要功能有哪些?
设备环境DC也称设备描述表或设备上下文。设备环境DC是由GDI创建、用来代表设备连接的数据结构。DC的主要功能有以下几种:
? 允许应用程序使用一个输出设备。
? 提供Windows应用程序、设备驱动和输出设备之间的连接。
? 保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜
色和背景等影响图形输出的绘图模式。
? 保存窗口剪切区域(Clipping Region),限制程序输出到输出设备中窗口覆盖的区域。 (3) 什么是GDI,它有什么功能?MFC将GDI函数封装在哪个类中?
GDI是Windows提供了一个图形设备接口的抽象接口。GDI负责管理用户绘图操作时功能的转换,其主要功能是实现设备无关性。MFC将GDI函数封装在CDC类中。
(4) 请叙述设备无关性的含义,实现设备无关性需要哪几个环节? 所谓设备无关性,是指操作系统屏蔽了硬件设备的差异,使用户编程时一般无须考虑设备的类型,如不同种类的显示器或打印机。当然,实现设备无关性的另一个重要环节是设备驱动程序。不同设备根据其自身不同的特点(如分辨率和色彩数目)提供相应的驱动程序。下图描述了Windows应用程序的绘图过程。
图设设物 应形备备理 用设驱备动环设 程接程备 序 境 口 序
(5) MFC提供了哪几种设备环境类?它们各自有什么用途? MFC提供的设备环境类包括CDC、CPaintDC、CClientDC、CWindowDC和 CMetaFileDC等,其中CDC类是MFC设备环境类的基类,其他MFC设备环境类都是CDC类的派生类,各个设备环境类的功能如下表所示。
设备环境类 CDC CPaintDC CClientDC
功能描述
所有设备环境类的基类,对GDI的所有绘图函数进行了封装;可用来直接访问整个显示器或非显示设备(如打印机等)的上下文
CPaintDC用于响应窗口重绘消息(WM_PAINT)的绘图输出,不仅可对客户区进行操作,还可以对非客户区进行操作
代表窗口客户区的设备环境,一般在响应非窗口消息并对客户区绘图时要用到 该类
CWindowDC CMetaFileDC
代表整个窗口的设备环境,包括客户区和非客户区;除非要自己绘制窗口边框和按钮,否则一般不用它
代表Windows图元文件的设备环境;一个Windows图元文件包括一系列的图形设备接口命令,可以通过重放这些命令来创建图形;对CMetaFileDC对象进行的各种绘制操作可以被记录到一个图元文件中
(6) 简述传统的SDK获取设备环境的方法。
传统的SDK获取设备环境的方法有两种。在WM_PAINT消息处理函数中通过调用API函数BeginPaint( )获取设备环境,在消息处理函数返回前调用API函数EndPaint( )释放设备环境。如果绘图操作不是在WM_PAINT消息处理函数中,需要通过调用API函数GetDC( )获取设备环境,调用API函数ReleaseDC( )释放设备环境。
(7) 简述创建和使用自定义画笔的步骤。 如果要在设备环境中使用自己的画笔绘图,首先需要创建一个指定风格的画笔,然后选择所创建的画笔,最后还原画笔。
(8) 简述采用MFC方法编程时,显示一个DDB位图的步骤。
采用MFC方法编程时,显示一个DDB位图需要执行以下几个步骤。
? 声明一个CBitmap类的对象,使用LoadBitmap( )函数将位图装入内存。
? 声明一个CDC类的对象,使用CreateCompatibleDC( )函数创建一个与显示设备环境
兼容的内存设备环境。
? 使用CDC::SelectObject( )函数将位图对象选入设备环境中,并保存原来设备环境的指
针。
? 利用CDC的相关输出函数输出位图。
? 使用CDC::SelectObject( )函数恢复原来设备环境。
4.6 习 题
1. 填空题
(1) 常见的菜单类型有主菜单、弹出菜单和快捷菜单3种。
(2) 在Visual C++中,每一个快捷键除了ID属性外,还有两个属性: 键 和 类型 。
(3) 基于对话框的应用程序在运行时 没有 菜单栏。 (4) 在MFC中,工具栏的功能由类 CToolBar 实现。
(5) 调用CToolBar类的成员函数CToolBar::Create( )或CreateEx( ) 创建并初始化工具栏窗口对象。
(6) 设置工具栏停靠特性,需要调用 EnableDocking( ) 函数。
(7) 状态栏实际上是一个窗口,一般分为几个 窗格 ,用来显示不同的信息。 (8) 在MFC中,状态栏的功能由 CStatusBar 类实现。
(9) 状态栏显示的内容由数组 indicators 决定,需要在状态栏中显示各窗格的 标识符、位置以及个数。
(10) CStatusBar类的成员函数 SetPaneInfo() 用来设置给定索引值的窗格ID、风格和宽度,成员函数 SetPaneText() 用来更新窗格的文本 2. 选择题
(1) 在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属性对话框
中的( )。
A.Separator B.Pop-up C.Inactive D.Grayed
(2) 要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必须设置工具栏的风格为( )。
A.CBRS_TOOLTIPS B.CBRS_FLYBY C.CBRS_NOALIGN D.WS_VISIBLE
(3) MFC应用程序框架为状态栏定义的静态数组indicators放在文件( )中。 A.MainFrm.cpp B.MainFrm.h C.stdAfx.cpp D.stdAfx.h (4) 下列有关菜单的叙述中不确的是( )。
A.“&”字符的作用是使其后的字符加上下划线 B.“\\t” 转移字符表示使快捷键按右对齐显示 C.自定义菜单项ID不能与系统菜单项ID相同
D.选中菜单项属性对话框中的Separator,指明菜单项是一个水平线分隔条 3. 判断题
(1) 给菜单项定义快捷键,只需在菜单项属性设置对话框的Caption文本框中说明 即可。 ( f )
(2) 弹出快捷菜单一般出现在鼠标箭头的位置。 ( t ) (3) UPDATE_COMMAND是更新命令用户接口消息。 ( t ) (4) 工具栏停靠特性只能设置一次。 ( t ) (5) 状态栏的功能由CStatusBar类实现。 ( t ) (6) CMenu类、CToolBar类和CStatusBar类的根基类是相同的。 ( t ) 4. 简答题
(1) 简述菜单设计的主要步骤。 菜单设计一般需要经过下面两步:
? 使用菜单编辑器编辑菜单资源;
? 使用ClassWizard进行消息映射,编辑成员函数,完成菜单所要实现的功能。
(2) 为应用程序创建快捷菜单主要有哪些方法? …… 此处隐藏:4263字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




