MFC复习题答案

上传人:豆浆 文档编号:11121616 上传时间:2017-10-12 格式:DOC 页数:9 大小:41.50KB
返回 下载 相关 举报
MFC复习题答案_第1页
第1页 / 共9页
MFC复习题答案_第2页
第2页 / 共9页
MFC复习题答案_第3页
第3页 / 共9页
MFC复习题答案_第4页
第4页 / 共9页
MFC复习题答案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《MFC复习题答案》由会员分享,可在线阅读,更多相关《MFC复习题答案(9页珍藏版)》请在金锄头文库上搜索。

1、名词解释1、事件:可能触发计算机程序做出相应反应的刺激2、句柄:为了区别于普通变量的标识,Windows 把这种复杂对象的标识叫做句柄3、消息:为了描述事件的各种信息(例如,何时何地发生了何种事件等) ,Windows 定义了一个结构,这个结构就叫做”消息”4、Windows 的 API 函数:由操作系统提供的,用户可以使用的函数就叫做 API5、Windows SDK 程序:使用软件开发工具包开发出来的 Windows应用程序6、资源:资源就是一种可供 Windows 应用程序利用,可单独编辑,并可动态加载的数据7、图象设备接口(GDI):Windows 把用于改变 DC 属性的操作,即与绘

2、图相关的操作都制作成函数,这些函数的集合就叫做图形设备接口8、CDC 类:在面向对象程序设计思想中,把 DC 和 GDI 函数封装到一起形成 CDC 类9、回调函数:系统调用用户编写的函数过程叫做“回调” ,所以这种被系统调用的函数也叫做“回调函数”10、无效显示区:在有效提高拆分窗口显示更新效率的方法中,程序只重绘必须重绘的区域 11、控件:Windows 设计了一些具有图形外观的程序实体,这些程序实体在鼠标或键盘的作用下会使程序出现不同的响应,这些可以接收或者产生事件的程序实体就叫做控件12、类信息表:MFC 程序在不同的场合下还经常用到类的其他信息,于是 MFC 就把这些信息统统都放在映

3、射表项中,并把它叫做类消息表13、消息循环:while(GetMessage(&msg,NULL,NULL,NULL)TranslateMessage(&msg);DispatchMessage(&msg);简答题1.位图的主要步骤:1)用位图类来定义一个对象(Bitmap )2)把位图资源载入位图对象 3)获取位图信息4) 把位图选入内存设备环境 5)显示位图2.利用 AppWizard 生成默认的 SDI 应用程序 My 时,向导自动生成的哪四个类?及其相应的功能。CMainFrame(构建应用程序,显示窗架) CMyApp(整个应用程序) CMyDoc(管理数据) CMyView(显示数

4、据)3.创建窗口的五个步骤:1)定义窗口 2)注册窗口3)创建窗口 4)显示窗口 5)消息循环4.简述从 Cdocument 类派生自己需要的文档类的一般步骤。1)以 CDocument 为基类,派生出一个类 2)在此类中添加数据成员和成员函数 3)在构造函数中进行初始化数据成员 4)在实现部分编写对应的成员函数 5.以鼠标消息 WM_MOUSEMOVE 为例,写出在 MFC 编程中,为视图 CJKXView 手工添加消息响应函数的步骤与相关代码。1)在类 CJKXView 的头文件中添加声明消息响应函数,代码为:afx_msg void OnMOUSEMOVE(UINT nflags,CPo

5、nint point);2)在现实文件 BEGIN_MESSAGE_MAP 与END_MESSAGE_MAP( )之间添加消息映射表ON_WM_MOUSEMOVE( )3)添加消息响应函数 void CMyview:Onmousemove(UINT nflags,CPoint point);6.在 MFC 中创建和使用模式对话框的主要步骤有哪些?1) 使用对话框编辑器创建对话框资源;2)在对话框资源内创建一个以 CDialog 为基类派生 ddd 对话框类3) 在使用对话框的类中把创建类的 dddd.h 头文件包含在内 #include“ddd.h4)在使用函数里 OnMOUSEMOVE 里添

6、加对象ddd dd;dd DOMOdal();创建类的 dddd.h 头文件包含在内 填空题:1.GetMessage( )被用来从消息队列获取消息,2.函数 TranslateMessage( )用来把键盘消息转换为字符消息,函数 DispatchMessage( )用来向系统派送消息。3.GetDocument( )函数是指向文档对象指针。4.工作线程和用户界面线程的区别:是否拥有界面。5.打开数据库的两种方式:dynaset 和 snapshot(使用CRecordset 对象对数据源进行操作) 。6.UpdateData 函数为真时:控件将向对应成员变量写入数据;为假时:控件将从对应成

7、员变量读取数据。编程题:1、为学员信息设计一个类 CWorker,包含:编号、姓名、出生日期、家庭住址、手机号,并使该类可以实现串行化。请写出可以实现要求的 CWorker.h 和 CWorker.cpp 文件的内容。/CWorker.hclass CWorker :public CObject public:CString Num;/ char Num10;CString Name;CTime Birth;CString Address;CString Tel; DECLARE_SERIAL(CWorker) / 使对象可串行化 virtual void Serialize( CArchiv

8、e & ar ); /重载串行化函数CWorker() 。 。 。 。 。 ;/CWorker.cppMPLEMENT_SERIAL(CWorker,CObject,0) void CWorker:Serialize(CArchive & ar) CObject:Serialize(ar); if ( ar.IsStoring() ) arNumName Birth AddressTel; 附加题(可供参考)1、Windows API 中 API 的英文全文为 application programming interface ,中文译文是 应用程序接口 。2、MFC 的英文全文为 Micro

9、soft Foundation Classes ,中文译文是 微软基础类库 。3、GDI 的英文全文为 Graphics Device Interface ,中文译文是 图形设备接口 。4、全局函数 AfxGetApp() 可以得到 CWinApp 应用类指针。5、MFC 中可自动重绘的绘图代码一般位于项目的 视图 类的 OnDraw() 函数中。6、在视图中, GetDocument() 函数可得到对应的文档对象指针。7、在文档中, GetFirstviewPosition() 和 GetNextview() 配合可用来遍历所有和文档关联的视图。8、在 MFC 中,用 CRect 类来描述一

10、个矩形区域的大小 。9、用 CArray 类创建数组,在使用一个数组之前,使用 SetSize 建立它的大小和为它分配内存。10、Afx 是 Application Framework 的简写,以 Afx 开头的函数都是 全局函数 ,可以在任一个类实现中调用。11、MFC 按线程是否拥有用户界面,把线程分为两种:工作线程和用户界面线程,它们根本的区别是 是否能够拥有消息响应机制 。 12、使用 CFile 类打开文件的成员函数是 Open() 。13、在任何时刻设备环境中必须有一支画笔,并且只能有一支。因此在使用自己定义的画笔时,要使用 CDC 的函数把默认画笔替换为自己定义的画笔,这个函数是

11、 SelectObject() 。14、MFC 的缺省的映射模式是 MM_TEXT,对应的单位为 像素 。15、在视图类中为了访问与视图关联的文档对象中数据,应该先调用 GetDocument() 函数得到 相关联文档对象指针 。16、用 CArray() 类对象可以创建数组,由于这是一个类模板,因此可以对任意数据类型的数据进行处理。17、全局函数 GetDocument() 可以得到框架窗口指针。18、在 MFC 中,类 CRect 的对象可以描述一个矩形。19、MFC 用 CPoint 类来描述一个点。20、利用 MFC AppWizard 可以生成 SDI 界面、 MDI 界面和基于对话

12、框界面的程序。21、用 MFC 编写的 Windows 应用程序时,线程之间同步的对象有:事件、临界段、互斥体和 信号量 。22、在框架窗口中, GetActiveDocument() 函数可得到当前活动文档指针, GetActiveView() 函数可得到当前活动视指针。23、MFC 中生成自定义模态对话框时先定义对话框类对象,然后调用 DoModel()成员函数创建模态对话框。24、MFC 的缺省的映射模式是 MM_TEXT,对应的单位为像素。25、语句 CArray m_P; 定义了一个数组对象m_P,数组元素的数据类型为 CRect ,而数组对象成员函数的形参数据类型为 指针 。26、

13、定义一个具有动态创建对象能力类时,必须在该类中定义一个无参的构造函数。27MFC 对话框类的基类是 CDialog ,用户自定义对话框类都是从它派生而来。28Windows 系统是一个 消息响应事件驱动 的操作系统,消息是应用程序与操作系统交互的手段。29随机访问一个文件的内容需要在打开的文件中重新定位一个指针,可以使用 CFile 类的 Seek()成员函数。30可以使用 UpdateData 成员函数激发数据交换。其原型为:BOOL UpdateData( BOOL bSaveAndValidate = TRUE ); 当其参数 bSaveAndValidate 为 TRUE 时, 控件把

14、数据传递到与之相关联的数据成员 。31可以使用 UpdateData 成员函数激发数据交换。其原型为:BOOL UpdateData( BOOL bSaveAndValidate = TRUE ); 当参数bSaveAndValidate 为 FALSE 时, 相关联的值传到控件 。选择填空题(请将所选答案的番号写在答题框内。每空只有一个正确答案。 )1、所有的文档类都派生于 C ,所有的视图类都派生于 A 。ACView BCWindow CCDocument DCFormView2、在进行绘图时, B 用于指定图形的填充样式, A 用于指定图形的边框样式。A、画笔 B、画刷 C、区域 D、位图3、 B 代表窗口客户区的显示设备上下文, C 代表整个窗口的显示设备上下文。ACPaintDC BCClientDC CCWindowDC DCMetaFileDC4、 C 包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由 Windows 将它们送入应用程序消息队列中,由程序来处理消息; D 用来与 Windows 的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。A系统消息 B用户消息 C输入消息 D控制消息5、消息循环的处理过程如下

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号