Windows程序设计模拟题

更新时间:2024-05-14 21:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中国地质大学(北京)继续教育学院 2017年04课程考试

《Windows程序设计》模拟题(补)

一.单项选择题

1、 项目文件的扩展名是【1】。

A)exe C)dsw

B)dsp D)cpp

B)进行消息映射 D)插入资源

2、 利用ClassWizard不能【2】。

A)建立新类

C)增加类的成员变量

3、 下列【3】不是MFC消息映射机制有关的宏。

A)DECLARE_MESSAGE_MAP B)BEGIN_MESSAGE_MAP C)DECLARE_SERIAL D)END_MESSAGE_MAP

4、 要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必须设置工具栏的风格为【4】。

A)CBRS_TOOLTIPS C)CBRS_NOALIGN 5、 下面【5】不是GDI对象。

A)CFont

B)CPalette D)CBitmap B)DoModal D)构造函数

B)单选按钮 D)静态文本框

B)模式对话框和非模式对话框 D)消息对话框和模式对话框 B)CWnd D)CDialog B)delete D)Detach() B)SetRadio D)SetText

C)CClientDC A)Create C)OnOK

B)CBRS_FLYBY D)WS_VISIBLE

6、 要将模式对话框在屏幕上显示需要用到【6】。

7、 类CButton不是下列【7】控件对应的类。

A)命令按钮 C)复选框

8、 根据对话框的行为性质,对话框可以分为两类【8】

A)对话框资源和对话框类 C)对话框资源和对话框模板 A)CView C)CWindow

9、 所有的控件都是【9】类的派生类,都可以作为一个特殊的窗口来处理。

10、使用GetDC()获取的设备上下文在退出时,必须调用【10】释放设备上下文。

A)ReleaseDC() C)DeleteDC() A)Enable

11、希望菜单无效,应该用CCmdUI类的【11】成员函数。

C)SetCheck

12、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,水平滑动条发送【12】消息。

第1页(共7页)

中国地质大学(北京)继续教育学院 2017年04课程考试

A)WM_CHAR

B)WM_HSCROLL D)WM_CHANGE

C)WM_VSCROLL

13、列表框CListBox类的成员函数【13】用来向列表框增加列表项,成员函数【14】用来

清除列表项所有项目,成员函数【15】用来返回列表框的列表项总数。 A)AddString() E)GetCurSel()

B)DeleteString() D)FindString() F)GetCount()

C)ResetContent()

14、 【16】包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows

将它们送入应用程序消息队列中,由程序来处理消息;【17】用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。 A)系统消息 C)输入消息 A)Files

B)用户消息 D)控制消息 B)Projects D)Other Documents B)F7 D)F5 B)F5 D)F10

15、用应用程序向导创建MFC AppWizard(exe)应选择【18】选项卡。

C)Workspaces A)Ctrl+F5 C)Ctrl+F7 A)F9

16、运行程序的快捷键是【19】。

17、设置和取消断点的快捷键都是【20】。

C)F11 【21】。 A)Separator C)Inactive A)GDI

B)Pop-up D)Grayed B)CPaintDC D)CWindowDC B)字体对话框 D)颜色对话框 B)CColorDialog D)CFontDialog B)WM_HSCROLL D)WM_CHANGE

18、在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属性对话框中的

19、下面【22】不是MFC设备环境类CDC类的派生类。

C)CClientDC A)查找对话框 C)段落对话框 A)CFileDialog

20、【23】是非模态对话框。

21、使用【24】通用对话框类可用打开文件。

B)CPrintDialog A)WM_CHAR

22、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送【25】消息。

C)WM_VSCROLL

23、以下控件中,【26】没有Caption属性。

第2页(共7页)

中国地质大学(北京)继续教育学院 2017年04课程考试

A)按钮 C)编辑框

B)组框 D)静态文本框

B)工具栏与加速键一一对应 D)菜单与加速键一一对应 B)SetRadio D)SetText B)CDialog D)CCmdTarget

24、关于工具栏、菜单和加速键的关系,正确的说法是【27】。

A)工具按钮与菜单必须一一对应 C)工具按钮不必与菜单一一对应 A)Enable

25、希望菜单前出现一个圆点,应该用CCmdUI类的【28】成员函数。

C)SetCheck A)CWnd

26、对话框的功能被封装在【29】类中。

C)CObject

27、滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数【30】代

表设置滑动块位置;【31】代表设置刻度线位置,一次只能设置一个刻度线,用于手动设置刻度线;【32】代表设置刻度线的疏密程度,配合Auto ticks属性使用,每隔一定单位自动显示一条刻度线。 A)SetRange() C)SetTic()

E)SetMark() A)CView C)CDocument

二.填空题

1、 用户可以通过项目工作区窗口的【】视图来查看资源。

2、 一个单文档的MFC应用程序框架一般包括5个类:应用程序类、框架窗口类、【】、文

档类和文档模板类。

3、 改变菜单项文本是使用CCmdUI类的【】成员函数。

4、 为了体系Windows的设备无关性,应用程序的输出面向一个称为【】的虚拟逻辑设备。 5、 对话框主要由对话框模板资源和【】两部分组成。

6、 每个控件最多只能关联Control和Value类型成员变量各【】个。

7、 MCF的CProgressCtrl类封装了进度条控件的各种操作,该类的成员函数【】用来设置

进度条的范围。

8、 项目工作区文件的扩展名是【】。

9、 【】函数弹出一个小的对话框向用户显示短信息,并将用户最终的选择返回给调用者。 10、弹出快捷菜单使用的是CMenu类的【】函数。 11、Windows引入GDI的主要目的是为了实现【】。

12、可以利用CGdiObject类的成员函数【】将GDI对象设置成指定的库存对象。 13、对话框的主要功能是【】和输出信息。

14、一个旋转按钮控件通常是一个相伴的控件一起使用的,该控件的Tab键次序必须【】旋

第3页(共7页)

B)SetPos() D)SetPoint() F)SetTicFreq() B)CWindow D)CFormView

28、所有的文档类都派生于【33】,所有的视图类都派生于【34】。

中国地质大学(北京)继续教育学院 2017年04课程考试

转按钮。

三.判断题

1、 打开一个项目,只需打开对应的项目工作区文件。

也是系统管理应用程序的基本单位。

【 】 【 】

2、 窗口是Windows应用程序的基本操作单元,是应用程序与用户之间交互的接口环境,3、 给菜单项定义快捷键,只需在菜单项属性设置对话框的Caption文本框中说明即可。

【 】

【 】 【 】 【 】 【 】 【 】 【 】 【 】 【 】 【 】

4、 状态栏的功能由CToolBar类实现。

5、 DDB又称GDI位图,它依赖于具体设备,只能存在于内存中。 6、 基于对话框的应用程序,也有文档类和视图类。 7、 快捷菜单一般出现在鼠标箭头的位置。

8、 通过AppWizard建立的程序不能被立即执行。 9、 所有的Windows应用程序都是消息驱动的。 10、COMMAND是更新命令用户接口消息。 12、CBrush是GDI对象。

【 】

11、删除CPen对象可调用CPen对象的DeleteObject函数。 【 】

13、UpdateData(true) 函数完成成员变量的值传递给控件的操作。 14、快捷菜单一般出现在鼠标箭头的位置。

四.简答题

1、 简述创建自定义工具栏的基本步骤。 2、 什么是DDX和DDV? 3、 单选按钮控件如何成组?

4、 简述MFC创建状态栏所做的工作。

5、 简述采用MFC方法编程时,显示一个DDB位图的步骤。 6、 如何给组合框添加初始的列表项?

五、程序设计题

1、 在视图类的OnDraw函数中,完成绘图,要求在视图的右下角画一个边长为200的蓝色

红边的正方形。

第4页(共7页)

中国地质大学(北京)继续教育学院 2017年04课程考试

void Ex4_3View::OnDraw(CDC* pDC) { }

2、 在一个对话框中,设置三个编辑框,前两个用于输入乘数,点击“乘法”按钮后,将

前两个数的乘积输出到第三个编辑框中。

各控件对应的成员变量见下表: 控件ID号 IDC_NUM1 IDC_NUM2 IDC_RES IDC_MUL IDCANCEL 变量类型 int int int 变量名 m_num1 m_num2 m_result CEx4_3Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

(1)要求单击“乘法”按钮,将前两个编辑框中值相乘结果显示在第三个编辑框中,并且使“乘法”按钮变得不可用,请写出“乘法”按钮的单击消息处理函数。 void CMulDlg::OnMulButton() { }

(2)当第一个编辑框的内容发生变化,使“乘法”按钮变得可用,并且判断该编辑框的值如果不在15~25之间,则弹出对话框提示“请输入15-25之间的整数!”,并且将光标放在该编辑框内。 void CMulDlg:: OnChangeNum1() { }

第5页(共7页)

// TODO: Add your control notification handler code here

// TODO: Add your control notification handler code here

中国地质大学(北京)继续教育学院 2017年04课程考试

参考答案: 一.单项选择题 1 B 11 A 21 B 31 C

二.填空题 1 3 5 7 9 11 13

三.判断题 1 √ 8 ×

四.简答题

1、 (1)创建工具栏资源;(2)构建一个CToolBar对象;(3)调用CToolBar::Create或CreateEx

函数创建工具栏窗口;(4)调用CToolBar::LoadToolBar载入工具栏资源。

2、 DDX为对话框数据交换,它用于将成员变量与对话框控件相连接,完成数据在成员变

量和控件之间的交换。DDV为对话框数据验证,它能自动校验输入的数据是否符合设计要求。

3、 将一组单选按钮放在一个组框控件中,并为同组中的第一个单选按钮设置Group属性。 4、 首先在CMainFrame类中定义一个成员变量m_wndStatusBar,它是状态栏类CStatusBar

的对象;其次在MFC应用程序框架的实现文件MainFrm.cpp中,为状态栏定义一个静态数组indicators;最后CWnd::Create函数以主框架窗口为父窗口创建状态栏。 5、 (1)声明一个CBitmap类的对象,使用LoadBitmap函数将位数装入内存。

(2)声明一个CDC类的对象,使用CreateCompatibleDC函数创建一个与显示设备环

第6页(共7页)

2 D 12 B 22 A 32 F 3 C 13 A 23 A 33 C 4 B 14 C 24 A 34 A 5 C 15 F 25 C 6 B 16 C 26 C 7 D 17 D 27 C 8 B 18 B 28 B 9 B 19 A 29 B 10 A 20 A 30 B ResourceView SetText 对话框类 SetRange MessageBox 设备无关性 接收用户输入 2 4 6 8 10 12 14 视图类 设备环境 1 dsw TrackPopupMenu CreateStockObject 小于 2 √ 9 √ 3 × 10 × 4 × 11 × 5 √ 12 √ 6 × 13 × 7 √ 14 √ 中国地质大学(北京)继续教育学院 2017年04课程考试

境兼容的内存设备环境。

(3)使用CDC::SelectObject函数将位图对象选入设备环境中,并保存原来设备环境的指针。

6、 可以通过组合框控件属性对话框的Data选项卡给组合框添加初始的列表项。

五、程序设计题 1、

CRect rect;

// //

// // // // // // //

GetClientRect(&rect);

CRect r(rect.Width()-200,rect.Height()-200,rect.Width(),rect.Height());// CBrush brush(RGB(0,0,255)),*pOldBrush; pOldBrush=pDC->SelectObject(&brush); pOldPen=pDC->SelectObject(&pen); pDC->Rectangle(r);

pDC->SelectObject(pOldBrush); pDC->SelectObject(pOldPen); 2.

(1)

UpdateData();

// // //

//

CPen pen(PS_SOLID,1,RGB(255,0,0)),*pOldPen;

m_ result =m_num1*m_num2; UpdateData(false);

GetDlgItem(IDC_MUL)->EnableWindow(false); (2)

GetDlgItem(IDC_MUL)->EnableWindow(true); UpdateData(); { }

MessageBox(\请输入15-25之间的整数!\GetDlgItem(IDC_NUM1)->SetFocus();

if(m_num1>25||m_num1<15)

// // // //

//

第7页(共7页)

本文来源:https://www.bwwdw.com/article/sxz7.html

Top