第十四周作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十四周:作业

一、选择题

1.在下列关于文档/视图结构应用程序的说法中,错误的是________。

(A)视图是用户界面,用于显示、打印文档中的数据,并管理与用户的交互

(B)文档用于管理应用程序的数据

(C)所有的Windows应用程序都采用这种结构

(D)文档类是应用程序进行数据定义和初始化的地方

2.在下列关于组成SDI应用程序框架的类的说法中,正确的是________。

(A)所有SDI应用程序窗口的标题、菜单栏、工具栏等都是窗口框架类提供的。

(B)文档类都是从CDocument类派生出来的。

(C)通过GetDocument()函数,视图类的成员函数可以访问文档类中的所有数据成员。

(D)每个应用程序类封装了程序初始化、运行和结束的整个过程3.在下列关于OnDraw()函数的说法中,错误的是________。

(A)程序开始运行时OnDraw()自动运行

(B)窗口大小改变时,OnDraw()函数自动运行

(C)Invalidate(TRUE)的作用是调用OnDraw()函数,擦除窗口原有的内容后再重新

绘制。

(D)可以在视图类成员函数中直接调用OnDraw()函数。

4.在窗口客户区画一个圆应使用________函数。

(A)Circle()

(B)Rectangle()

(C)Arc()。

(D)Ellipse()。

5.要使程序在运行期间周期性的执行某项操作,一般要用到________。

(A)鼠标消息处理函数(B)键盘消息处理函数

(C)定时器(D)菜单

6.当用户进行鼠标操作时,释放鼠标左键会发出________消息。

(A)WM_LBUTTONDOWN (B)WM_LBUTTONUP

(C)WM_LBUTTONDBLCLK (D)WM_RBUTTONUP

7.在下列关于对话框的说法中,错误的是________。

(A)在字体对话框中可以选择颜色

(B)文件打开对话框和另存为对话框属于同一个类

(C)与打开颜色、字体对话框一样,打开一个用户自定义对话框也是使用DoModal()函数

(D)文件对话框的GetFileName()用于获取用户选择的包括路径在内的文件名8.在下列关于位图处理的说法中,正确的是________。

(A)BitBlt()函数能缩放显示位图

(B)在窗口的客户区只能显示被作为资源加载到程序中的位图

(C)只有StretchBlt()函数才能显示原始位图中的一块矩形区域

(D)显示位图前必须构造内存设备环境。

二、填充题

1.在文档/视图结构的应用程序中,除了文档类、视图类和框架类之外,还必须有________类。

2.获取客户区大小的函数是________。

3.在视图中通过________函数可以获取相关联的文档的指针。

4.MFC中最常用的画图工具是________和________。

5.视图的内容在有些情况下是自动重新绘制的,有些情况下是要手工调用才能重新绘制的,手工调用的函数是________和________。

6.当用户操作键盘时,按下键盘上一个键发出的消息是________。

7.在Visual C++提供的通用对话框中,颜色对话框对应的类是________。

8.在AppWizard生成的SDI程序框架中,菜单资源的缺省ID________。

三、编程题

1.编一程序,输出如图2.10.1所示的文字。在窗口中输出两行由字符“*”组成的字符串,中间是“严谨求实团结创新”。

图2.10.1 程序界面

2.编一程序,输出如图2.10.2所示的图形。最左边是一条由间隔2个像素的50个蓝色的点组成的虚线。

图2.10.2 程序界面

3.编一程序,绘制如图2.10.3所示的艺术图案。构造图案的算法为:把一个半径为r 的圆周等分为n份,然后用直线将这些点两两相连。

提示:

(1)在半径为r的圆周上第i个等分点的坐标为:

x i= r * Cos(i * t) + x0,y i = r * Sin(i * t) + y0。

其中,t为等分角,(x0,y0)为圆心坐标,r为圆半径。

(2)在双重循环控制内将这些点两两相连。

图2.10.3 程序界面

4.编写一个程序,用SetPixel函数绘制-2π~2π之间的Con曲线,如图2.8.4所示。

图2.8.4 Cos曲线

5.编写一个字幕滚动程序,如图2.8.5所示。

要求:

(1)单击左键开始滚动,单击右键停止滚动。

(2)文字自右向左移动,文字到顶端的距离是随机的。

提示使用定时器

图2.8.5 字幕滚动程序

6.编写一个如图2.10.6所示的冒泡程序。单击左键在单击处生成一个蓝色的泡泡,单击右键在单击处生成一个黄色的泡泡。这些泡泡的半径是随机的,以100ms的时间间隔、10个像素的间距向上冒。

图2.10.6 程序界面

7.编写如图2.10.7所示的程序,要求能用鼠标拖动矩形框,中间的文字随之移动。

图2.10.7 鼠标拖动

8.编写如图2.10.8所示的程序。

要求:

(1)选择“参数”,弹出一个自定义对话框,输入每次移动的距离(单位为像素)。(2)能利用键盘的方向键移动位图。

(3)能利用菜单中的命令移动位图。

图2.10.8 移动位图

相关文档
最新文档