版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MFC程序设计期末试题及详细参考答案适用范围:大学计算机、软件工程专业MFC课程期末考核、课程实训测试考试时长:90分钟满分:100分一、单项选择题(共15题,每题2分,共30分)1、MFC的核心本质是()A、Windows操作系统B、C++类库框架C、编译工具D、编程语言2、MFC程序的入口函数是()A、main()B、WinMain()C、InitInstance()D、Run()3、下列不属于MFC基本应用程序框架类的是()A、CWinAppB、CFrameWndC、CDialogD、CString4、窗口初始化、资源加载的核心函数是()A、InitInstance()B、OnCreate()C、OnPaint()D、DestroyWindow()5、MFC中绘制图形、文字必须依托的类是()A、CWndB、CDCC、CGdiObjectD、CView6、对话框分为模态对话框和非模态对话框,模态对话框的特点是()A、弹出后可操作父窗口B、弹出后阻塞父窗口操作C、无窗口消息循环D、不能关闭7、创建模态对话框使用的函数是()A、Create()B、ShowWindow()C、DoModal()D、UpdateData()8、MFC中消息映射宏的核心是()A、BEGIN_MESSAGE_MAPB、#includeC、classD、typedef9、窗口重绘、刷新时自动触发的消息是()10、UpdateData(TRUE)的作用是()A、将控件数据更新到变量B、将变量数据刷新到控件C、刷新整个窗口D、初始化对话框11、下列GDI对象中,用于定义线条样式的是()A、CBrushB、CPenC、CFontD、CBitmap12、单文档MFC程序的视图类基类是()A、CFrameWndB、CViewC、CDocumentD、CWnd13、获取对话框中控件文本内容的函数是()A、SetWindowText()B、GetWindowText()C、UpdateWindow()D、Refresh()14、鼠标左键按下对应的消息是()A、WM_LBUTTONDOWNB、WM_LBUTTONUPC、WM_MBUTTONDOWND、WM_RBUTTONDOWN15、MFC文档/视图结构中,负责存储数据的类是()A、CViewB、CDocumentC、CFrameWndD、CWinApp二、填空题(共10空,每空2分,共20分)1、MFC程序四大核心框架类分别是CWinApp、CFrameWnd、_________、_________。2、Windows程序的运行机制是_________驱动机制。3、非模态对话框创建使用_________函数,无需阻塞主线程。4、CDC类中,绘制直线的函数是_________,绘制矩形的函数是_________。5、UpdateData(FALSE)的功能是将_________的数据更新到_________上。6、键盘按键按下的通用消息是_________。7、MFC中消息映射机制用于绑定_________和消息处理函数。三、简答题(共4题,每题5分,共20分)1、简述模态对话框与非模态对话框的核心区别。2、简述MFC消息映射机制的工作原理。3、简述UpdateData(TRUE)和UpdateData(FALSE)的区别与使用场景。4、简述MFC文档/视图结构的分工优势。四、编程应用题(共2题,每题15分,共30分)1、编写MFC对话框程序代码,实现功能:点击按钮后,获取编辑框输入的内容,并弹出消息框显示该内容。(需写出核心变量定义、按钮消息映射、事件处理函数完整代码)2、在MFC视图类中编写绘图代码,实现窗口重绘时,在窗口客户区中心绘制一个红色圆形、蓝色边框矩形。详细参考答案一、单项选择题答案1、B解析:MFC是微软封装的C++类库,用于简化Windows窗口程序开发,不是系统、工具或语言。2、C解析:MFC封装了原生WinMain函数,程序启动后优先执行CWinApp类的InitInstance初始化函数。3、D解析:CString是字符串操作类,不属于窗口应用框架核心类。4、A解析:InitInstance是程序实例初始化核心函数,负责创建主窗口、加载资源。5、B解析:CDC是设备上下文类,所有GDI绘图、文字绘制操作都必须通过CDC对象完成。6、B解析:模态对话框弹出后独占消息循环,必须关闭后才能操作父窗口。7、C解析:DoModal()是模态对话框创建显示的专用函数,Create用于非模态对话框。8、A解析:BEGIN_MESSAGE_MAP和END_MESSAGE_MAP是MFC标准消息映射宏。10、A解析:TRUE为把控件值赋值给绑定变量,FALSE为变量刷新到控件。11、B解析:CPen管理线条颜色、粗细、样式;CBrush为画刷,填充图形;CFont为字体。12、B解析:单文档视图类默认继承CView,负责数据显示和交互。13、B解析:GetWindowText获取控件文本,SetWindowText为设置控件文本。14、A解析:WM_LBUTTONDOWN左键按下,WM_LBUTTONUP左键弹起。15、B解析:CDocument负责数据存储、读写,CView负责数据展示和用户交互。二、填空题答案1、CView、CDocument(顺序可互换)2、消息3、Create4、LineTo、Rectangle5、成员变量、界面控件6、WM_KEYDOWN7、窗口消息三、简答题参考答案1、模态对话框与非模态对话框核心区别(1)运行状态:模态对话框弹出后阻塞父窗口,无法操作父窗口界面,必须关闭对话框后才能继续操作;非模态对话框弹出后,父窗口可正常操作,两个窗口可同时交互。(2)创建方式:模态对话框使用DoModal()创建,非模态对话框使用Create()创建,需配合ShowWindow()显示。(3)消息循环:模态对话框拥有独立消息循环,独占主线程;非模态对话框共享主窗口消息循环。2、MFC消息映射机制工作原理Windows系统会将用户操作、窗口状态变化转化为对应消息,发送到对应窗口。MFC通过消息映射宏,将窗口消息与自定义的消息处理函数一一绑定。程序运行时,系统接收消息后,通过映射表查找对应的处理函数,自动执行对应的业务逻辑,无需开发者手动编写消息循环和消息判断代码,简化窗口交互开发。3、UpdateData两个参数的区别与场景(1)UpdateData(TRUE):把控件当前输入、显示的数据,同步赋值到对话框绑定的成员变量中。多用于按钮点击、数据提交场景,用于读取界面数据。(2)UpdateData(FALSE):将程序中修改后的成员变量数值,刷新显示到界面对应控件上。多用于初始化界面、程序修改数据后刷新界面的场景。4、MFC文档/视图结构分工优势文档类(CDocument)专门负责数据的存储、修改、文件读写,不参与界面展示;视图类(CView)专门负责数据的界面展示、用户交互操作,不直接管理原始数据。二者分离的模式实现了数据与界面解耦,一套数据可以对应多个视图展示,修改界面不会影响数据逻辑,修改数据也无需改动界面代码,代码复用性和可维护性更高。四、编程应用题参考答案1、对话框获取编辑框内容并弹窗显示(核心完整代码)第一步:在对话框头文件中添加绑定变量(编辑框ID假设为IDC_EDIT_INPUT)cpp
//对话框头文件.h
CStringm_strInput;//绑定编辑框的字符串变量第二步:消息映射宏(自动生成,可直接使用)cpp
BEGIN_MESSAGE_MAP(CMfcDlg,CDialogEx)
ON_BN_CLICKED(IDC_BTN_SHOW,&CMfcDlg::OnBnClickedBtnShow)
END_MESSAGE_MAP()第三步:按钮点击事件处理函数cpp
voidCMfcDlg::OnBnClickedBtnShow()
{
//将编辑框数据更新到变量
UpdateData(TRUE);
//弹出消息框显示内容
MessageBox(m_strInput,_T("输入内容"),MB_OK);
}补充说明:需通过类向导将编辑框控件与m_strInput变量绑定,自动完成数据关联。2、视图类中心绘制红色圆形、蓝色边框矩形代码重写视图类OnPaint绘图函数,完整核心代码如下:cpp
voidCMyView::OnPaint()
{
CPaintDCdc(this);//获取当前窗口设备上下文
CRectrect;
GetClientRect(&rect);//获取窗口客户区大小
//定义画笔、画刷
CPenbluePen(PS_SOLID,2,RGB(0,0,255));//蓝色实线画笔,宽度2
CBrushredBrush(RGB(255,0,0));//红色画刷
//选入GDI对象
dc.SelectObject(&bluePen);
dc.SelectObject(&redBrush);
//计算客户区中心坐标
intcx=rect.Wid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中七年级体育与健康人教版第五章排球单元教学设计
- 湖北省黄冈市2026届高三下学期3月模拟考试数学试题(解析版)
- 2025年医疗器械安全及使用等知识试题及答案
- 2025年医学住培结业考试题型及答案
- 2025年宜昌市网格员招聘考试备考题库及答案解析
- 2025年预防甲流、甲流知识科普试题及答案
- 2025年育婴师高级试题及答案
- 2025年知识竞赛(少先队基础知识)历年参考题库含答案详解
- 2025年注册安全工程师建筑施工安全真题及答案解析
- 2025年主管护师题目及答案
- 2026年医务人员职业暴露防护
- 中国慢性阻塞性肺疾病基层诊疗与管理指南(2024年)解读课件
- 设备检修事故应急处置方案
- (2026年)瞳孔观察的方法和临床意义课件
- 红十字运动基本知识普及课件
- 地板砖墙面翻新施工方案
- CN115571819B 大型回转窑筒体安装方法及组装辅助装置 (中国二十冶集团有限公司)
- 焦虑症的早期评估与心理干预
- DB11-T《消防通信指挥系统应用规范》
- 数智化物流:供应链协同新范式
- 选择性必修1 Unit 5 语法教学设计:《主语从句》
评论
0/150
提交评论