MFC-Windows应用程序的设计复习题2

合集下载

地大21春《Windows程序设计》在线作业二【标准答案】

地大21春《Windows程序设计》在线作业二【标准答案】

地大《Windows程序设计》在线作业二试卷总分:100 得分:100一、单选题 (共 10 道试题,共 30 分)1.典型的Windows窗口程序的流程为:()A.注册窗口类->创建窗口->显示窗口->更新窗口->消息循环B.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环C.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环D.注册窗口类->创建窗口->更新窗口->显示窗口->消息循环答案:A2.在Windows编程中,按下键盘的"A"键后,返回的Windows消息是()。

A.VK_AB.WM_KEYDOWNC.AD.DIK_A答案:B3.在MFC中,所有的文档类都派生于()A.CViewB.CWindowC.CDocumentD.CFormView答案:C4.菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。

( )A.VisibleB.GrayedC.EnableD.Separator答案:D5.生成1个只具有确定和取消按钮的消息框,其参数为()。

A.MB_OKB.MB_YESNOC.MB_OKCANCELD.MB_RETRYCANCEL答案:C6.在Windows编程约定中,图像设备接口的英文缩写是()。

A.APIB.SDIC.GDID.MDI答案:C7.希望菜单无效,应该用CCmdUI类的()成员函数。

A.EnableB.SetRadioC.SetCheckD.SetText答案:A8.如果要严格按照匈牙利命名法命名1个全局窗口句柄,以下变量命名正确的是()。

A.g_hWndB.m_hWndC.g_pWndD.m_pWnd答案:A9.以下对应于unsignedlong 的数据类型为:()A.WORDB.DWORDC.INTD.BYTE答案:B10.下列Windows数据格式中,代表设备句柄的是()。

《Windows程序设计》期末试卷(样B卷)

《Windows程序设计》期末试卷(样B卷)

命题人期末考试分数占总分数的百分比60% 学分 2.5 判卷人考试时间审批人密封线题号一二三四五六七八九十总分核分人得分得分一、填空题(10×2分=20分)1. 鼠标右键单击事件的消息是(),其对应的消息响应函数的名称默认是()。

2. MFC AppWizard创建的项目默认有5个类,分别是应用程序类、主窗口框架类、()、()和“关于……”对话框类。

3. Win32应用程序的主函数名为(),MFC应用程序的主函数名是()。

4. MFC类族中的基类是(),MFC类族中具有消息响应能力的类都是从()派生出来的。

5. 大部分可视控件的直接父类是()。

6. 模态对话框是调用其成员函数()来执行的。

得分二、选择题(10×2分=20分)1. 下列句柄类型中,()是应用程序实例句柄。

(A). HWND (B). HPEN (C). HINSTANCE (D). HICON2. 对话框类型的程序,它的数据交换函数是()。

(A). DDX_Text (B). DataExchange (C). DoDataExchange (D). UpdateData3. 下列标识符中,()是窗口重绘的消息标识。

(A). OnDraw (B). Invalidate (C). InvalidateRect (D). WM_PAINT4. 在MFC的应用程序中,程序处理的数据通常作为()类的数据成员。

(A). 文档(B). 视图(C). 框架(D). 应用程序5. 下列宏(Macro)中,不属于消息映射声明和定义的是()。

(A). DECLARE_MESSAGE_MAP (B). WM_LBUTTONDOWN()(C). BEGIN_MESSAGE_MAP (D). END_MESSAGE_MAP6. 按下某个按键时,键盘的接口会产生与该键对应的编码,这个编码叫做()。

(A) 虚拟码(B) 机内码(C) 扫描码(D) 区位码7. 在拆分视图的应用程序中刷新所有子视图,可以调用文档类的成员函数()。

mfc面试题

mfc面试题

mfc面试题MFC(Microsoft Foundation Classes)是微软公司开发的一套C++类库,用于进行Windows应用程序的开发。

MFC面试题主要涉及MFC框架的基本概念、使用方法和相关编程技巧。

以下将以问题和答案的形式介绍几个常见的MFC面试题。

问题1:MFC是什么?它的作用是什么?答:MFC全称为Microsoft Foundation Classes,是微软在VisualC++中提供的一组类库。

它的作用是封装了Windows操作系统的API,简化了Windows应用程序的开发过程。

通过使用MFC,开发人员可以更加方便地创建图形界面、响应用户操作和调用系统功能。

问题2:MFC的架构是怎样的?答:MFC的架构可以分为三层:应用程序层、框架层和操作系统层。

应用程序层是开发人员编写的具体应用程序代码,包括窗口类、对话框类、消息处理函数等。

框架层是MFC提供的类库,包括CWinApp、CFrameWnd、CView等类,用于管理应用程序的生命周期、创建主窗口、处理消息等。

操作系统层是Windows操作系统提供的API,MFC通过封装这些API,以提供更高层次的抽象和易用性。

问题3:如何创建一个MFC应用程序?答:创建MFC应用程序的步骤如下:1. 打开Visual Studio,选择创建新项目。

2. 选择Visual C++ -> MFC -> MFC应用程序。

3. 输入项目名称,选择保存位置,点击确定。

4. 在向导中选择应用程序类型(单文档、多文档、对话框等)、界面风格和其他选项。

5. 点击完成,Visual Studio将自动生成一个基本的MFC应用程序框架。

问题4:如何处理MFC中的消息?答:MFC中的消息处理通过消息映射表和消息处理函数完成。

首先,需要在类声明中使用`DECLARE_MESSAGE_MAP()`宏来声明消息映射表。

然后,在类实现中使用`BEGIN_MESSAGE_MAP`和`END_MESSAGE_MAP`宏来定义消息映射表的起止位置。

MFC应用程序设计复习资料

MFC应用程序设计复习资料

MFC应用程序设计复习资料第1章Windows应用程序基础知识1.Windows是一种应用于微型计算机的操作系统,它为应用程序提供了一个多任务环境,这个环境具有一致的图形化窗口和菜单。

在Windows操作系统上运行的应用程序叫做Windows应用程序。

1.1Windows应用程序的基本概念1.1.1Windows应用程序的界面1.Windows应用程序的一个突出特点是它有一个美观的图形用户界面(GUI),这种图形用户界面与键盘和鼠标的配合,大大方便了用户对应用程序的控制与操作。

2.图形界面是Windows应用程序与用户交换信息的一个“窗口”。

3.简单的Windows应用程序只有一个窗口,而复杂的Windows应用程序可能有多个窗口。

设计一个或一组满足要求的窗口,是Windows应用程序设计中的一项重要任务。

1.1.3Windows的一个特殊数据类型——句柄1.在Windows应用程序中,存在着很多诸如窗口、按钮、滚动条等复杂的程序对象和实例。

为了在程序中区分和使用它们,必须对它们进行标识。

为了区别于普通变量的标识,Windows把这种复杂对象的标识叫做“句柄”。

不同Windows对象的句柄具有不同的类型,常用的句柄类有:句柄类型说明句柄类型说明HWND 窗口句柄HDC 图形设备环境句柄HINSTANCE 当前程序应用实例句柄HBITMAP 位图句柄HCURSOR 光标句柄HICON 图标句柄HFONT 字体句柄HMENU 菜单句柄HPEN 画笔句柄HFILE 文件句柄HBRUSH 画刷句柄1.1.4Windows应用程序的数据类型1.Windows应用程序的数据量非常大,为了提高应用程序的可读性,Windows给许多基本数据类型定义了别名,例如:除此之外,Windows应用程序还使用了一些结构类型的数据,例如:typedef struct tag_POINT{LONG x,y;}POINT;结构描述了一个点的位置。

第8章 Windows应用程序设计 习题

第8章  Windows应用程序设计 习题

第8章Windows应用程序设计一.选择题1.要使窗体在运行时,显示在屏幕的中央,应设置窗体的【】属性。

A) WindowState B) StartPositionC) CenterScreen D) CenterParent2.在C#程序中,文本框控件的【】属性用来设置其是否是只读的。

A) ReadOnly B) Locked C) Lock D) Style3.要使文本框控件能够显示多行且能自动换行,应设置它的【】属性。

A) MaxLength和Multiline B) Multiline和WordWrapC) PasswordChar和Multiline D) MaxLength和WordWrap4.在使用RichTextBox控件进行文档编辑时,如果希望知道文档自上次设置该控件的内容后,文本框中的内容是否改变,可使用它的【】属性。

A) Modified B) SelectedText C) Undo D) SaveFile5.当用户单击窗体上的命令按钮时,会引发命令按钮的【】事件。

A) Click B) Leave C) Move D) Enter6.要使复选框控件能够显示出三种状态,应首先设置它的【】属性。

A) ThreeState B) Checked C) CheckState D) Indeterminate 7.在Windows应用程序中,如果复选框控件的Checked属性值设置为True,表示【】。

A) 该复选框被选中B) 该复选框不被选中C) 不显示该复选框的文本信息D) 显示该复选框的文本信息8.在Windows应用程序中,可以通过以下【】方法使一个窗体成为MDI窗体。

A) 改变窗体的标题信息B) 在工程的选项中设置其为启动窗体C) 设置窗体的IsMdiContainer属性为True D) 设置窗体的ImeMode属性9.在Windows应用程序中,若要让窗体MyForm显示为对话框模式窗体,必须【】。

Windows程序设计复习资料(完整答案)

Windows程序设计复习资料(完整答案)

一、单项选择题:1.WinMain()函数的工作。

WinMain()函数是Windows程序的入口点在WinMain中进行:注册窗体类、建立窗体、显示窗体、更新窗体、建立消息循环2.非MFC的Windows程序中,不是处理WM_PAINT消息的时候怎样获得客户区的设备环境句柄。

BeginPaint ----------EndPaintGetDC---------------ReleaseDC(成对出现)利用GetDC()函数获取设备环境句柄3.句柄的含义。

句柄是一个(通常为32位的)无符号整数(unsigned int),它代表一个内核对象内核对象在应用层的表示4.在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。

当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同5.Windows程序的控制流程。

Windows程序没有固定的控制流程,事件驱动程序控制流程6.事件驱动、消息驱动的概念。

事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。

消息是事件到达Windows内部后的称呼7.对话框、控件的作用。

对话框是程序与用户之间进行交互,接收用户输入、并把数据显示出来的一个窗口;控件是用户可与之交互以输入或操作数据的对象。

控件通常出现在对话框中或工具栏上。

8.MFC中怎样处理WM_PAINT消息。

在OnDraw()函数中处理该消息9.GetMessage()函数在什么情况下返回0,从而导致消息循环终止,程序结束。

在接收到WM_QUIT消息时返回010.Windows中,应用程序的输出是怎样进行的。

通过设备描述表DC(Device Context)来进行应用程序与物理设备之间的交互11.MFC中,大多数类的基类都是什么。

CObject类12.一个MFC应用程序必须有且只能有一个从哪个类派生的全局应用程序对象,此对象在运行时刻控制应用程序中所有其他对象的活动。

MFCWindows应用程序设计复习题

MFCWindows应用程序设计复习题

MFC Windows应用程序设计【复习】第1章Windows应用程序基础知识1. Windows 程序设计是一种( C ) 的程序设计模式。

A:结构化B:面向对象C:事件驱动方式D:XP2. 用户从所有可能的操作中任意选择,被选择的操作会产生某些特定的( ) ,这些事件发生后的结果是向程序中的某些对象发出( ),然后这些对象调用相应的( C )来完成特定的操作。

A:消息,事件,程序B:消息,命令,消息处理函数C:事件,消息,消息处理函数D:事件,消息,程序3. 消息的组成(C)A:消息名称(UINT)B:消息名称(UINT)和参数(PARAM)C:消息名称(UINT)和两个参数(WPARAM,LPARAM)D:消息名称(UINT)和两个参数(HPARAM,LPARAM)4. 程序在( B) 对消息进行分析A:入口函数(WINMAIN)中B:在窗口过程函数(WNDPROC)中C:收到消息时D:消息发生时5. 一个消息( B )A:可以不被窗口接受B:必须由一个窗口接收C:可以由一个或多个窗口接收D:必须由多个窗口接收6. 当没有为某消息编写消息处理时( C )A:不进行处理B:程序出错C:默认的窗口过程进行处理D:无法发出此消息7. 应用程序接收到( A )消息时停止接收其他消息A:WM_QUIT B:WM_DESTORYC:WM_PAINT D:WM_COMMAND8. 下列Windows数据格式中,代表设备句柄的是(B)。

A. HWNDB. HDCC. HINSTANCED. HFONT9. 典型的Windows窗口程序的流程为:(A)A. 注册窗口类->创建窗口->显示窗口->更新窗口->消息循环B. 创建窗口->注册窗口类->显示窗口->更新窗口->消息循环C. 创建窗口->注册窗口类->显示窗口->更新窗口->消息循环D. 注册窗口类->创建窗口->更新窗口->显示窗口->消息循环10. 在WinMain函数的原型中HINSTANCE hInstance 定义的是(A)HINSTANCE hPrevInstance定义的是(B)LPSTR lpCmdLine定义的是(C)int nCmdshow)定义的是(D)A:当前实例句柄B:先前实例句柄C:指向命令行参数的指针D:窗口的显示状态11. 以下哪个不是WinMain函数中完成的操作(D)A:注册窗口类B:创建应用程序主窗口C:进入应用程序消息循环D:调用窗口过程函数12. 下面说法错误的是(D)A:一个Windows程序可以包含多个窗口过程B:一个窗口过程总是与调用RegisterClass注册的特定窗口类相关联C:CreateWindow函数根据特定窗口类创建一个窗口,但基于一个窗口类,可以创建多个窗口D:窗口过程必须由程序调用,而不是由Windows本身直接调用13. Windows应用程序中使用了各种Windows API函数声明,宏定义,数据类型定义,(D)是主要的包含文件。

Windows应用程序设计阶段考试题【C#】

Windows应用程序设计阶段考试题【C#】

Windows应用程序设计阶段考试题【C#】
1、设计简单文件浏览管理程序(如图1-1所示),选择不同的磁盘,在Treeview控件中列出所有当前磁盘所有文件夹,单击文件夹在ListView中显示所有文件(文件名,修改时间,类型,大小),在状态栏中显示“当前路径”、“当前目录文件个数”、“选择文件个数”
提示:Combobox、TreeView、ListView、StatusStrip控件
File类、FileInfo类、Directory类、DirectoryInfo类、DriveInfo 类、TreeNode类、ListViewItem类
【图1-1】
2、设计简单读取数据库表管理程序(如【图2-1】),设计“系统”、“备份数据”菜单,单击“系统”菜单弹出“退出系统”子菜单;单击“备份数据”菜单弹出“导出数据”子菜单;“导出数据”子菜单
弹出“导出数据”窗口(如【图2-2】),选择文件夹并输入“.TXT”文件名,单击“导出”按钮在指定文件夹导出“myDB.txt”文件(如【图2-3】)。

提示:MenuStrip、DataGridView、TextBox、Button、Label控件
数据库类、File类、FolderBrowserDialog类[文件夹浏览对话框]
【图2-1】
【图2-2】
【图2-3】。

MFC复习资料

MFC复习资料

第一章:1、windows应用程序的概念和特点?答:windows是一种更操作系统,以windows作为平台运行的应用程序叫做windows应用程序,它的一个突出特点树一个美观的图形用户界面(GUI)。

2、什么是API函数?答:可以在应用程序中调用的,用C语言编写,有操作系统提供,用户可以使用的函数,有窗口管理函数、图形设备函数和系统服务函数。

3、事件。

消息的概念?答:触发计算机程序作出向反应的刺激叫事件;描述各种信息的结构,对事件得的描述。

4、Windows系统主函数、窗口函数的关系?答:主函数和窗口函数都是有windows系统来调用的函数,只不过主函数是应用程序启动之后,系统首先调用的函数,而窗口函数是主函数在获得消息并把消息发送个系统之后,有系统产生事件的窗口所使用的窗口类型提供的指针调用的函数。

5、主函数的任务?答:创建并显示窗体和实现消息循环。

其中在创建显示窗体中还应有三步即注册窗口、创建窗口和显示窗口。

第二章:1、什么是消息映射表?答:消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。

一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了,系统在发生输入事件时产生消息。

这样消息映射表就是将各类信息及处理函数指针规范统一的填写到表中。

2、消息映射WM_LBUTTONDOWN消息为例说明用宏声明实现?答:public:afx_msg void OnLButtonDown()//窗口类声名中BEGIN_MESSAGE_MAP(CMyWnd,CFrameWnd) //消息映射的实现ON_WM_LBUTTONDOWN()END_MESSAGE_MAP()3、在窗口类CFrameWnd中需要封装哪些成员?答:需要封装窗口句柄、窗口类的定义、注册窗口类、创建窗口、显示更新窗口。

4、在MFC程序设计中,如果要建立拥有自己风格的主窗口,应该重写什么函数?答:继承CWinApp类并需要重写的成员函数为InitInstance。

Windows高级应用编程技术复习题_简答题_名词解释

Windows高级应用编程技术复习题_简答题_名词解释

Windows⾼级应⽤编程技术复习题_简答题_名词解释简答题1WinMain()函数的⼯作。

WinMain()函数是Windows程序的⼊⼝点在WinMain中进⾏注册窗体类、建⽴窗体、显⽰窗体、更新窗体、建⽴消息循环2MFC的Windows程序中,WM_PAINT消息中怎样获得客户区的设备环境句柄。

和不是WM_PAINT消息中怎样获得客户区的设备环境句柄。

BeginPaint ----------EndPaint GetDC---------------ReleaseDC(成对出现)利⽤GetDC函数获取设备环境句柄3柄的含义。

句柄是⼀个通常为32位的⽆符号整数(unsigned int),它代表⼀个内核对象,是内核对象在应⽤层的表⽰。

4MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。

当窗⼝客户区有滚动条时客户坐标和逻辑坐标可能不同5事件驱动程序设计是⼀种全新的程序设计⽅法,它不是由事件的顺序来控制,⽽是由事件的发⽣来控制,⽽这种事件的发⽣是随机的、不确定的、并没有预定的顺序。

这样就允许程序的的⽤户⽤各种合理的顺序来安排程序的流程。

消息是事件到达Windows内部后的称呼6GetMessage()函数在什么情况下返回0在接收到WM_QUIT消息时返回07Windows中通过设备描述表DC(Device Context)来进⾏应⽤程序与物理设备之间的交互8WM_PAINT不会被⾃动调⽤,这时需要怎样间接调⽤它。

使⽤InvalidateRect()调⽤9OnKeyDown(UINT nChar,UINT nRepCnt,UINT nFlags)中的主要参数。

参数UINT nChar指按下按键的虚拟键码;nRepCnt 按键按下的次数;nFlags有没有其他键同时被按下;如shift、ctrl、Alt10DC中的SetROP2()的作⽤。

设定绘图模式11.rc的⽂件是什么。

资源⽂件12GDI绘图函数所使⽤的参数。

mfc windows应用程序设计期末整理

mfc windows应用程序设计期末整理

名词解释(5题)1.什么是资源resource,常用资源有哪些资源是一种供Windows应用程序利用,可以单独编辑,并可以动态加载的数据。

常用的资源有:菜单,加速键,图标,位图等。

2.回调函数callback系统调用用户编写的函数过程叫做“回调”,所以这种被系统调用的函数也叫做“回调函数”3.什么是事件,举例说明答:能触发程序作出相应反应的因素或动作叫“事件”。

例如在键盘上按下一个键,鼠标的单击或双击,应用程序窗口的显示和销毁。

4.消息循环答:在创建了窗口的应用程序中,应用程序将要不断地从消息队列中获取消息,并将消息指派给指定的窗口处理函数来处理,然后再回来从消息队列中获取消息,这个不断重复的工作过程叫做消息循环。

5.RPC远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议6.activeX文档ACTIVEactiveX文档是一个既包含了数据,又包含了管理这个数据所需工具的文档包。

7.SOAPSOAP是Web Service的传输协议,是Web Service的提供者与使用者之间的信息的编码和传送方式。

8.WSDL是一个基于XML的正式描述文档,用于描述Web Service及其函数、参数和返回值。

9.Windows组键简答题7个1.创建窗口的五个步骤1)定义窗口2)注册窗口3)创建窗口4)显示窗口5)消息循环2.创建和使用模式对话框的步骤1.创建对话框和控件,编辑它们的属性;2.生成对话框类,并可添加其成员变量和编辑成员函数;3.调用对话框调用对话框两个步骤:1)添加包含头文件语句2)在程序中调用对话框可采用模式和无模式两种方法。

如,模式方法:CMyFirstDlgdlg;dlg.DoModal();或CMyFirstDlgdlg;if(dlg.DoModal()==IDOK){ … }3.线程和进程的关系一个程序就是一个进程,线程是进程中以函数形式出现的代码模块,一个进程可以有多个线程,进程的任务是有这个进程的所有线程共同配合完成的。

Windows程序设计复习资料(含答案)

Windows程序设计复习资料(含答案)

一、单项选择题:1.WinMain()函数的工作。

WinMain()函数是Windows程序的入口点2.非MFC的Windows程序中,不是处理WM_PAINT消息的时候怎样获得客户区的设备环境句柄。

利用GetDC()函数获取设备环境句柄3.句柄的含义。

句柄是一个(通常为32位的)无符号整数(unsigned int),它代表一个内核对象4.在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。

当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同5.Windows程序的控制流程。

Windows程序没有固定的控制流程6.事件驱动、消息驱动的概念。

事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。

7.对话框、控件的作用。

对话框是程序与用户之间进行交互,接收用户输入、并把数据显示出来的一个窗口;控件是用户可与之交互以输入或操作数据的对象。

控件通常出现在对话框中或工具栏上。

8.MFC中怎样处理WM_PAINT消息。

在OnDraw()函数中处理该消息9.GetMessage()函数在什么情况下返回0,从而导致消息循环终止,程序结束。

在接收到WM_QUIT消息时返回010.Windows中,应用程序的输出是怎样进行的。

通过设备描述表DC(Device Context)来进行应用程序与物理设备之间的交互11.MFC中,大多数类的基类都是什么。

CObject类12.一个MFC应用程序必须有且只能有一个从哪个类派生的全局应用程序对象,此对象在运行时刻控制应用程序中所有其他对象的活动。

CWinApp类13.每次当窗口客户区需要重新绘制时,应用程序框架怎么处理。

发送WM_PAINT消息,调用OnDraw()函数进行重绘14.CDC类的作用。

CDC是设备描述表类的基类,除了一般的窗口显示外,还用于基于桌面的全屏幕绘制和非屏幕显示的打印机输出。

MFC期末复习简答题及答案

MFC期末复习简答题及答案

MFC 期末复习及答案1 简述MFC 应用程序的执行过程。

2 简述文档/视图与其他类对象的关系。

3 简述MFC 消息映射机制。

4 消息WM_LBUTTONDOWN 的消息映射宏和消息处理函数是什么?5 如何自定义消息?如何发送自定义消息?6 GDI 创建哪几种类型的图形输出?7 什么是设备环境?它的主要功能有哪些?8 什么是GDI,它有什么功能?MFC 将GDI 函数封装在哪个类中?9 请叙述设备无关性的含义,实现设备无关性需要哪几个环节?10 MFC 提供了哪几种设备环境类?它们各自有什么用途?11 简述传统的SDK 获取设备环境的方法。

12 简述创建和使用自定义画笔的步骤。

13 简述采用MFC 方法编程时,显示一个DDB 位图的步骤。

14 简述菜单设计的主要步骤。

15 为应用程序创建快捷菜单主要有哪些方法?16 如何动态创建菜单?17 创建工具栏的基本步骤有哪些?18 简述MFC 创建状态栏所做的工作。

19 简述创建和使用模态对话框的主要步骤。

20 如何向对话框模板资源添加控件?如何添加与控件关联的成员变量?21 什么是DDX 和DDV?编程时如何使用MFC 提供的DDX 功能?22 简述创建属性页对话框的主要步骤。

23 在应用程序中访问控件的方法有哪些?24 单选按钮控件如何成组?25 组合框与列表框相比有什么不同?如何给组合框添加初始的列表项?26 通过哪几个主要成员函数完成文档与视图之间的相互作用?并简述这些成员函数的功能。

27 简述文档序列化与一般文件处理的区别。

28.如何让用户定义的类支持序列化?1 简述MFC 应用程序的执行过程。

MFC 应用程序启动时,首先创建应用程序对象theApp。

这时将自动调用应用程序类的构造函数初始化对象theApp,然后由应用程序框架调用MFC 提供的WinMain( )主函数。

在WinMain( )主函数中,首先通过调用全局函数GetApp( )来获取theApp 的指针pApp,然后通过该指针调用theApp 的成员函数InitInstance( )来初始化应用程序。

MFC纯复习题200504

MFC纯复习题200504

实用软件技术复习题1 在用API编写Windows程序时,要有一个入口函数,它的函数名和功能是什么?答:在Windows编程中这个入口函数就是WinMain()。

WinMain函数主要用于初始化程序,显示主窗口,并进入一个消息循环。

2 在Windows程序的入口函数WinMain()中有一个消息循环,代码如下:while (GetMessage(&msg)){TranslateMessage(&msg);DispatchMessage(&msg);}上述代码中个函数作用是什么?答:通过GetMessage函数从线程的消息队列中取出消息,用TranslateMessage函数将消息解释后,再调用DispatchMessage将该消息分发至相应的窗口过程(WndProc)进行处理。

3 Windows程序中有一个窗口函数,该函数的作用是什么?答:每一个窗口都应该有一个“窗口函数”(window procedure,或称window function)。

如果窗口获得一个消息,则这个窗口函数必须判断消息的类别,决定处理的方式。

4 在Windows系统中分别定义了两个数据类型用来表示应用程序对象的句柄及窗口对象的句柄,这两个数据类型是什么?答:应用程序:数据类型HINSTANCE,也常把HINSTANCE的变量命名为hInstance,窗口:数据类型为HWND(也写成HWindow或HWND)。

5 利用AppWizard生成的多文档应用程序包括哪几个主要的类?答:主要是CWinApp, CDocument, CView, CFrameWnd派生,另外再加上CDocTemplate, 这5个类构成了大部分MFC应用程序的核心,6 MFC类库可分为哪两部分?答:MFC类库可以分为两部分,一部分是MFC类,另一部分是全局函数(变量)和宏。

7 MFC中下列类的类名分别是什么?应用程序类(CWinApp)、视图类(CView)、文档类(CDocument)、窗口类(CWnd)、主框架窗口类(CFrameWnd)、文档模板类(CDocTemplate)、对话框类(CDialog)、异常类(CException)、字符串类(CString)、菜单类(CMenu)、工具栏类(CToolBar)、状态栏类(CStatusBar)、静态控件类(CStatic)、按钮控件类(CButton)、编辑控件类(CEdit)、列表框控件类(CCListBox)、组合框控件类(CComboBox)、滚动条控件类(CScrollBar)。

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

第9章 MFC的文件处理机制1) 文档负责将数据存储到磁盘中,存取过程称为(D) 。

A. 文件访问B. 格式化C. 文件读写D. 串行化2) 一个 CArchive 类对象必须与一个( C ) 对象相关联。

A. CObjectB. CFileDialogC. CFile类D. CDocument3) 不能将 Newfile 文件的文件指针定位在文件头的方法是( B ) 。

A. Newfile.Open("MyFile.txt", CFile::modeCreate)B. NewFile::Seek( 0L, CFile::end)C. Newfile.SeekToBegin()D. Newfile.Seek(0L, CFile::begin)4)( A )函数用于获取指定文件的文件名。

A. GetFileName()B. GetStatus()C. GetFilePath()D. GetFileTitle()5) 当应用程序读取或写入文件时,文档对象的( )函数被调用,并将( )对象作为参数传递。

6) ( CArchive )类是一个对象数组类,它可以存放任何从 CObject 派生出的对象,还可以根据元素的数量动态地调整自己的大小。

7) 在 Visual C++中,数据文件的操作通常按照( 打开 ) 、( 操作 ) 、( 关闭 ) 的步骤进行。

8) 写出以读写方式打开文件 student.txt 的语句序列(File.Open(“student.txt”,CFile:modeReadWrite); ) 。

10)什么是序列化?答:序列化是面向对象程序设计中应对象这种数据的存储和恢复的要求而产生的一种文件读写机制。

第11章对话框1. 在对话框的编辑器中,最左边的按键的作用是( B )。

A. 激活对话框编辑功能B. 测试对话框C. 控件左对齐D. 控件垂直居中2. 在MFC类中,访问对话框的编辑框中的文本的函数是( C )。

A. GetTextB. GetItemC. GetDlgItemTextD. GetDlgText3. MFC编程中,模式对话框的创建函数是(B )。

A. CreateB. DoModalC. CreateDialogD. Initilize4. 在Windows操作系统中,最常见的系统错误提示对话框属于( A )。

A. 模式对话框B. 无模式对话框C. 通用对话框D. 固定对话框5 CDialog类的成员函数UpdateData()的功能是( A )。

A. 在调用UpdateData()函数时,令参数为FALSE,可以根据程序更新文本,即按成员变量的值来更新对话框的显示值;B. 在调用UpdateData()函数时,令参数为TRUE,成员变量的值就会被屏幕上显示的值更新;C. 用对话框中的数据更新数据库中的数据;D. 用数据库中的数据更新对话框中的数据;6. 下列关于对话框中数据交换的说确的是( C )。

A. 只能交换基本数据类型,不能交换类类型的对象数据B. 可以交换任何C++中合法的数据类型C. 可以交换基本数据类型和一些特定的类类型的数据D. 可以对所有的数据的大小围进行限制7. 在MFC编程中,从对话框中取得数据的系统函数是( A )。

A. DoDataExchangeB. InitDialogC. CreateD. DoModal8. 下列哪种功能没有被封装为通用对话框?( C )A. 颜色选择B. 字体选择C. 时间选择D. 文件打开保存9. 关于颜色对话框,以下说法错误的是( B )。

A. 颜色对话框是模式对话框B. 颜色对话框的DoModal函数能够返回1个选择的颜色值C. 颜色对话框设定颜色后,程序需要调用窗口重绘消息来更新颜色D. 颜色对话框可以自定义颜色10. 在创建了颜色对话框后,调用设定的颜色需要使用函数( D )。

A. GetColorB. OnColorOKC. SetCurrentColorD. SetColor11. 如果要文件对话框只能显示文件夹中的bmp文件,则建立对话框时应该设置的参数是( B )。

A. lpszFileNameB. lpszFilterC. lpszDefExtD. dwFlags12. 关于文件对话框,以下说确的是( C )。

A. 文件对话框只能打开单个文件B. 文件对话框可以设置默认的打开文件C. 文件对话框可以限制访问的文件类型D. 文件对话框是无模式对话框13. 在窗口中添加一个仅仅用于显示文字提示的控件,这个控件的类为:( A )A. CStaticB. CButtonC. CEditD. CComboBox14. 在MFC编程中,所有基于窗口的控件类的基类是( A )。

A. CWndB. CViewC. CWindowsD. CFrame15. 在MFC编程中,可编辑文本框的控件类是( A )。

A. CEditB. CButtonC. CStaticD. CComboBox16.已知以下语句:GetDlgItem(IDC_CONVERT)->EnableWindow(FALSE);则下列说确的是( A )。

A. 该语句禁用了对话框中ID号为IDC_CONVERT的控件B. 该语句将显示ID号为IDC_CONVERT的对话框C. 该语句使ID号为IDC_CONVERT的控件变为可见D. 该语句使ID号为IDC_CONVERT的的控件友灰色变为可用17. 如果1个单选按钮的Group属性被设置为“TRUE”,则说明( A )。

A. 该单选按钮是1组单选按钮的第1个B. 该单选按钮独自作为1个按钮组C. 该单选按钮的消息响应属于1个组框D. 该单选按钮一定是默认的单选按钮18. 要设置某个单选按钮的状态,使用的函数是( B )。

A. SetButtonB. SetCheckC. SetRadioD. SetGroup19. 关于列表框(List Box)控件,以下说法错误的是( D )。

A. 列表框控件可以列出一系列供用户从中选择的项B. 列表框控件中的选项可以使用字符串C. 列表框控件中的选项可以使用滚动条D. 列表框中只能一次选择1个选项20. 要在列表框中添加字符串,可以使用的系统函数是( A )。

A. AddStringB. AddTextC. SelectStringD. SetSel21.MFC提供了一些公用对话框类,其中:用于选择颜色的公用对话框类为:( CColor );选择文件名的对话框类为:( CFile ),设置字体的对话框类为:( CDialog )。

22. 对话框分为(模态)对话框和(非模态)对话框两种类型。

23. 选择按钮包括(单选)按钮和(复选)按钮;24. 组合控件集成了()控件和()控件的功能;25. CDialog类是从(CWnd)类中派生出来的27. 试简述Windows编程中,对话框的数据交换机制。

答: CWnd成员函数UpdateData()调用DoDataExchange()来实现对话框的数据交换,其中DoDataExchange()是MFC自动生成的,DoDataExchange()函数通过调用DDX_Custom()来将对话框控件与对话框类中的成员变量相对应。

在具体实现时,调用Update(true)实现对话框的数据输入功能,将数据从控件传送到对应的数据成员;调用Update(false)实现对话框的输出功能,将数据从数据成员变量传送给对应的控件。

28. 什么是对话框模板资源描述文件?答:用来描述对话框外观及对话框上控件布局的文本文件叫做对话框模板资源文件。

29. 用户定义的对话框类派生自哪个类?答:Cdialog。

30. 通常在什么地方进行对话框的初始化?答:通常在类CDialog的OnInitDig成员函数中进行对话框的初始化。

这个函数在对话框启动后,且还没有显示的时候被调用。

31. Windows有哪两类对话框?它们的区别是什么?答:模式对话框和非模式对话框。

它们的区别为模式对话框直到退出对话框才返回应用程序,非模式对话框可以与应用程序同时工作。

32. 对话框创建后,还没显示前就会触发( B )消息。

A)WM_PAINT B)WM_INITDIALOGC)WM_CREATE D)WM_SIZE33. MFC中,与属性对话框相关的两个类是(CPropertyPage)和(CPropertySheet)。

34. 判断一组单选按钮中哪一个被选中了,要使用(GetCheckedRadioButton)函数。

35.(GetCheck)函数可以得到单选或复选框的选中状态。

第12章进程与线程的管理1. 每一个进程至少有( A )个线程。

A. 1B. 2 D.3 D. 42. 当使用函数AfxBeginThread创建一个工作者线程时,参数dwCreateFlags指定了线程的初始状态,通常为____0_____,那么线程在创建后立即执行,如果为CREATE_SUSPENDED,则线程在启动后就被挂起。

3. 在创建CWinThread对象的AfxBeginThread函数声明中,参数intnPriority是线程的( B )。

A 函数名B 优先级C 初始状态D 堆栈尺寸4. 在创建CWinThread对象的AfxBeginThread函数声明中,参数nStackSize 是线程的( D )。

A 函数名B 优先级C 初始状态D 堆栈尺寸5. 在创建CWinThread对象的AfxBeginThread函数声明中,参数dwCreateFlags 是线程的( C )。

A 函数名B 优先级C 初始状态D 堆栈尺寸6. 在CWinThread类的成员函数中,查询指向线程主窗口指针的函数是( A )。

A GetMainWndB GetThreadPriorityC ResumeThreadD SuspendThread7. 在CWinThread类的成员函数中,获取当前线程优先级的函数是( B )。

A GetMainWndB GetThreadPriorityC ResumeThreadD SuspendThread8. 在CWinThread类的成员函数中,增加一个线程的挂起记数的函数是( D )。

A GetMainWndB GetThreadPriorityC ResumeThreadD SuspendThread9. 在CWinThread类的成员函数中,减少一个线程的挂起记数的函数是( C )。

A GetMainWndB GetThreadPriorityC ResumeThreadD SuspendThread10. 线程的哪一种优先级最高?( A )A.THREAD_PRIORITY_TIME_CRITICALB. THREAD_PRIORITY_ABOVE_NORMALC. THREAD_PRIORITY_HIGHESTD. THREAD_PRIORITY_IDLE11. 对工作线程和用户界面线程的功能叙述正确的是( C ).A.工作者线程有收发消息的功能,用户界面线程也有收发消息的功能.B.用户界面线程没有收发消息的功能,工作者线程有收发消息的功能.C.用户界面线程有收发消息的功能,工作者线程没有收发消息的功能.D.用户界面线程和工作者线程都没有收发消息的功能.12. 线程启动时,参数dwcreateFlage指示其运行状态,若为( D ),线程立即执行. A, 1 B, T C, F D, 013. 工作线程的函数原型正确的是( C )A. static int MyWorkThreadFunction(LPVOID pParam)B. INT MyWorkThreadFunction(LPVOID pParam)C.UINT MyWorkThreadFunction(LPVOID pParam)D. static int MyWorkThreadFunction(VOID pParam)14. 以下哪个不是关于线程类的函数( C )。

相关文档
最新文档