MFC Windows应用程序设计复习题
- 格式:doc
- 大小:72.50 KB
- 文档页数:12
一单项选择题试题1 满分值:分状态:已答应用程序可以使用GDI创建3种类型的图形输出,不包括【】位图矢量图形光栅图形文本[我的答案] 光栅图形试题2 满分值:分状态:已答关于工具栏、菜单和加速键的关系,正确的说法是【】工具按钮与菜单必须一一对应工具栏与加速键一一对应工具按钮不必与菜单一一对应菜单与加速键一一对应[我的答案] 工具按钮不必与菜单一一对应试题3 满分值:分状态:已答【】函数用于在指定位置输出字符串:PrintTextOutScanfWrite[我的答案] Print试题4 满分值:分状态:已答下列【】不是MFC消息映射机制有关的宏:DECLARE_MESSAGE_MAPBEGIN_MESSAGE_MAPDECLARE_SERIALEND_MESSAGE_MAP[我的答案] DECLARE_SERIAL试题5 满分值:分状态:已答在视图类中获得文档类对象指针用函数【】:GetDocumentUpdateAllViewsOnUpdateSetModifiedFlag[我的答案] GetDocument试题6 满分值:分状态:已答能间接调用视图类的OnDraw函数的是【】OnTimerLButtonDownSerializeInvalidate[我的答案] Invalidate试题7 满分值:分状态:已答实心画刷只需要定义【】填充样式填充颜色填充模式填充图案[我的答案] 填充颜色试题8 满分值:分状态:已答【】设置进度条的当前位置SetRangeSetStepSetPosStepIt[我的答案] SetPos试题9 满分值:分状态:已答常见的菜单类型不包括【】。
自动菜单主菜单弹出菜单快捷菜单[我的答案] 自动菜单试题10 满分值:分状态:已答CDialog中的【】成员函数用于成员变量和控件之间的数据传递:ExchangeToDoEXTUpdateData[我的答案] UpdateData试题11 满分值:分状态:已答项目文件的扩展名是【】exedspdswcpp[我的答案] dsp试题12 满分值:分状态:已答滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数【】代表设置刻度线的疏密程度,配合Autoticks属性使用,每隔一定单位自动显示一条刻度线。
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应用程序设计一.选择题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程序设计复习题一选择题1 下列程序设计方法中,()是一种基于对象的程序设计方法。
A: MFC程序设计B: 使用WindowsAPI编程C: 使用VisualBasic语言编程 D: 使用C#程序设计语言编程2 MFC程序框架中,最先执行的函数是()。
A: WinMain函数B: CWinApp类的构造函数C: CWinApp类的InitInstance函数D: Cwnd的OnCreate函数3 CWinApp类中用()成员函数实现了对消息环的封装。
A: InitInstance( ) B: Run()C: OnIdle() D: WndProc()4 消息的4个参数中,表示消息类型的参数是()。
A: HWND hwnd B: messageID C: wParam D: lParam5下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是()。
A: WM_CHAR B: WM_COMMAND C: WM_CREATE D: WM_PAINT6 MFC消息映射机制中,下列消息映射表BEGIN_MESSAGE_MAP(CGraphicsView, CScrollView)ON_WM_PAINT()END_MESSAGE_MAP()把WM_PAINT消息映射到()。
A: CGraphicsView类OnPaint函数B: CGraphicsView类OnDraw函数。
C: CScrollView类的OnPaint函数D: CScrollView类的OnDraw成员函数。
7 下列MFC类中,不直接支持消息映射的MFC基类是(),A: CCmdTarget B: CWinAPP C: CWnd D: CMap8 下列集合类中,其内部是使用散列表技术实现的MFC类的是()。
A: CArray B: CList C: CMap D: CPtrList9 下列CWnd类成员函数中,用于任何消息的可覆盖函数是()。
一、单项选择题: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应用程序必须有且只能有一个从哪个类派生的全局应用程序对象,此对象在运行时刻控制应用程序中所有其他对象的活动。
Windows程序的设计题(含简答题答案)《Windows程序设计》模拟题一.单项选择题1. 在VC++中,项目文件的扩展名是(B)。
A)exe B)dspC)dsw D)cpp2. 在MFC中,利用ClassWizard不能(D)。
A)建立新类B)进行消息映射C)增加类的成员变量D)插入资源3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。
A)WM_CHAR B)WM_HSCROLLC)WM_VSCROLL D)WM_CHANGE4. 更新菜单状态的消息是( C )。
A)WM_COMMAND B)UPDATEC)UPDATE_COMMAND_UI D)INVALIDATE5. 对于消息队列描述正确的是( D )A)在Windows中只有一个消息系统,即系统消息队列。
消息队列是一个系统定义的数据结构,用于临时存储消息。
B)系统可从消息队列将信息直接发给窗口。
另外,每个正在Windows下运行的应用程序都有自己的消息队列。
C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。
应用程序的消息对列中存储了程序的所有窗口的全部消息。
D)以上都正确6. 在MFC中,所有的控件都是(B)类的派生类,都可以作为一个特殊的窗口来处理。
A)CView B)CWndC)CWindow D)CDialog7. 使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。
A)ReleaseDC() B)delete()C)DeleteDC() D)Detach()8. 希望菜单无效,应该用CCmdUI类的(A)成员函数。
A)Enable B)SetRadioC)SetCheck D)SetText9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。
A)Enable B)SetRadioC)SetCheck D)SetText10. 下面(A)不是MFC设备环境类CDC类的派生类。
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 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)是主要的包含文件。
WINDOW程序设计复习题前言:从给定的答案中选出正确答案添入括号中:(1)Windows操作系统同时也是一个大的函数库,其中包含了数以千计的函数,这些函数能完成各种各样的功能,包括窗口管理、图形设备接口、媒体控制、()和系统扩展。
A 内存管理B 存储器管理C 网络通信管理D 系统安全控制(2)Windows操作系统同时也是一个大的函数库,其中包含了数以千计的函数,这些函数都被封装在一个()中,这个()就是Windows应用程序编程接口(Windows Application Progrmming Interface),简称Windows API。
A 类B 接口C 动态链接库D 结构体(3)基于()的应用程序具有和Windows操作系统的良好整合性,从而大大提高了软件的运行性能。
A 机器语言B MS—DOSC Windows APID Microsoft Visual C++答案:(1)A (2)B (3)C第一章Windows程序设计概述1.Microsoft Windows是一个应用于微型计算机上的基于(d)的操作系统。
A:cpu B:驱动程序C:内核D:图形用户界面2. 它为应用程序提供了一个由一致的图形用户界面构成的(a)环境。
A:多任务B:多窗口C:多用户D:多彩色3. 目前应用得最为广泛的操作系统是Microsoft公司推出的(b)操作系统,A: unix B:Windows 98 C:mac D:windows20004. Windows程序设计是一种(c) 的程序设计模式。
A:结构化B:面向对象C:事件驱动方式D:XP5. 用户从所有可能的操作中任意选择,被选择的操作会产生某些特定的(c) ,这些事件发生后的结果是向程序中的某些对象发出(c),然后这些对象调用相应的(c)来完成特定的操作。
A:消息,事件,程序B:消息,命令,消息处理函数C:事件,消息,消息处理函数 D:事件,消息,程序6. Windows应用程序在本质上是(d)的A:可执行B:二进制形式C:结构化D:面向对象7. 消息的组成(c)A:消息名称(UINT)B:消息名称(UINT)和参数(PARAM)C:消息名称(UINT)和两个参数(WPARAM,LPARAM)D:消息名称(UINT)和两个参数(HPARAM,LPARAM)8. 程序在(b) 对消息进行分析A:入口函数(WINMAIN)中B:在窗口的过程(WNDPROC)中C:收到消息时D:消息发生时9 一个消息(b)A:可以不被窗口接受B:必须由一个窗口接收C:可以由一个或多个窗口接收D:必须由多个窗口接收10 当没有为某消息编写消息处理时(c)A:不进行处理B:程序出错C:默认的窗口过程进行处理D:无法发出此消息11系统通过(d)在整个系统中唯一标识一个窗口A:B:C:D:窗口句柄12 系统是根据()来确定要接收消息的窗口的(a)A:消息的接收句柄B:C:D:13 当同时有多个消息时,系统将(c)A:B:C:将消息放入消息队列中D:14 windows 3.x属于(b)系统A:B:协同式多任务C:D:抢先式多任务系统15 windows 98属于(d)系统A:B:协同式多任务C:D:抢先式多任务系统16 windows NT属于(d)系统A:B:协同式多任务C:D:抢先式多任务系统应用程序通过(b)的程序结构来实现的A:B:消息循环C:D:应用程序接收到(a)消息时停止接收其他消息A:WM_QUIT B:WM_DESTORY C:WM_PAINT D:WM_COMMAND 以下哪个消息不属于Windows 应用程序的消息来源(b)A:输入消息B:输出消息C:系统消息D:用户消息MFC功能从底层来说是通过(d)来实现的。
1-1 什么是Windows SDK程序?答:使用软件开发工具包开发出来的Windows应用程序叫做Windows SDK程序。
1-3 打开windows.h文件,看一下Windows系统的句柄是什么数据类型的?答:整型。
1-5 什么是事件?答:能触发程序做出相应反应的因素或动作叫做“事件”。
1-6 如何显示和更新窗口?答:调用函数ShowWindow显示窗口,调用函数UpdateWindows更新窗口。
1-7 什么是消息循环?答:在创建了窗口的应用程序中,应用程序将不断地从消息队列中获取消息,并将消息指派给指定的窗口处理函数来处理,然后再回来从消息队列获取消息,这个不断重复的工作过程叫做消息循环。
1-9 说明Windows应用程序的主函数、窗口函数与Windows系统之间的关系。
答:Windows应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。
2-1 在窗体类CframeWnd中需要封装哪些成员?答:在窗体类CframeWnd中要封装窗口句柄、窗口类的定义、注册窗口类、创建窗口、显示更新窗口。
2-2 应用程序类CwinApp应该具备那些主要功能?答:创建、显示应用程序的窗口和建立消息循环。
2-3 在MFC程序设计中,如果要建立拥有自己风格的主窗口,应该重写什么函数。
答:继承CWinAPP类并需要重写该类的成员函数InitInstaance。
3-3 简述构成文档/视图结构应用程序框架的四个MFC派生类,并说出它们的功能。
答:假如工程名称为MyPrj则MFC AppWizard会自动创建一下四个派生类来构成应用程序的框架。
.CFrame类的派生类CMainFrame;.CWinApp类的派生类CMyPrjApp;.CDocument类的派生类CMyPrjDoc;.CView类的派生类CMyPrjView。
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)是主要的包含文件。
A STDIO.HB WINDEF.HC WINUSER.HD WINDOWS.H14. 注册窗口类型时,窗口风格各个选项可以用(B)运算符联合表示。
A AND(&)B OR(|)C 逻辑与(&&)D 逻辑或(||)15. 在函数CreateWindow()调用返回之后,Window内部(B)A:已经创建了这个窗口,但还未分配内存B:已经创建并分配了内存C:还未真正创建窗口,等待分配内存D:还未真正创建窗口,但已经分配内存16. 关于函数ShowWindow(HWND hwnd,int iCmdShow),下面说法错误的是(C)A:hWnd是窗体句柄B:nCmdShow是窗体显示方式C:nCmdShow与WinMain函数定义的窗体显示方式相同D:nCmdShow与WinMain函数定义的窗体显示方式必须不同17. 关于函数UpdateWindow()的说法正确的是(D)A 该函数的作用是将窗口重新绘制B 调用该函数后,该函数发出WM_PAINT消息C 该函数将消息发送给窗口函数进行处理D 以上答案都正确18. 下面关于消息循环的说法错误的是(D)A:Windows为当前运行的每个Windows程序维护一个“消息队列”B:程序通过执行一块被称为“消息循环”的代码从消息队列中取出消息C:消息循环从GetMessage调用开始,它从消息队列中取出一个消息D:GetMessage通常将一个指向msg的MSG结构的指针直接传递给窗口函数WndProc19. GetMessage对于除了WM_QUIT之外的从消息队列中取出的所有消息都返回(A)A:非0值B:0 C:1 D:NULL20. 在(D)之后,WinMain退出消息循环A 用户通过单击Close按钮或在系统菜单选择Close发出WM_DESTROY消息B 结束对任何消息的DispatchMessage调用C 通过调用函数PostQuitMessage(0)在程序的消息队列中插入一个WM_QUIT 消息D GetMessage取到一个WM_QUIT消息,程序继续执行return msg.wParam21. 下面说法错误的是(B)A:窗口过程接受的每一个消息都是用一个数值来表示的B:窗口过程在处理消息时,必须返回1C:窗口过程不予处理的所有消息应该被传给名为DefWindowProc的Windows 函数。
D:从DefWindowProc函数返回的值必须由窗口过程返回22. 下面哪一步确定了在窗口中的客户区域中显示什么,以及在窗口中怎样响应用户输入(D)A 注册窗口类B 创建窗口C 显示窗口D 窗口过程23. 关于窗口过程的说法正确的是(C)A 一个窗口过程能处理基于同一个窗口类创建的多个窗口的消息B 一个窗口过程只能处理基于同一个窗口类创建的一个窗口的消息C一个窗口过程能处理基于多个窗口类创建的多个窗口的消息D一个窗口过程只能处理基于多个窗口类创建的一个窗口的消息24. 关闭窗口时产生的消息(D)A、WM_KEYDOWNB、WM_CREATC、WM_DESTROYD、WM_CLOSE25. 由CreateWindow函数发出的消息(B)A、WM_KEYDOWNB、WM_CREATC、WM_DESTROYD、WM_CLOSE26. 由PostQuitMessage函数发出的消息(A)A、WM_QUITB、WM_CREATC、WM_DESTROYD、WM_CLOSE27. 包含一个消息的全部信息,是消息发送的格式的数据结构是(MSG)28. 系统通过(窗口句柄hwnd)在整个系统中唯一标识一个窗口29. 系统是根据(消息的接收句柄)来确定要接收消息的窗口的30. 当同时有多个消息时,系统将(将消息放入消息队列中)31. MFC功能从底层来说是通过(调用最基本的Win32 API)来实现的。
32. API是(应用程序编程接口)33. 句柄的含义?句柄是一个(通常为32位的)无符号整数(unsigned int),通常用它来标识一个内核对象。
34.事件驱动、消息驱动的概念?事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。
35.GetMessage()函数在什么情况下返回0,从而导致消息循环终止,程序结束?在接收到WM_QUIT消息时返回036.主控函数WinMain()建立消息循环的代码?While(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispathMessage(&msg);}37. 说明Windows应用程序的主函数、窗口函数与Windows系统之间的关系?Windows应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。
第2章windows应用程序的类封装1. 在窗体类CFrameWnd中需要封装哪些成员?答:在窗体类CFrameWnd中要封装窗口句柄、窗口类的定义、注册窗口类、创建窗口、显示更新窗口。
2. 应用程序类CwinApp应该具备那些主要功能?答:创建、显示应用程序的窗口和建立消息循环。
3. 在MFC程序设计中,如果要建立拥有自己风格的主窗口,应该重写什么函数。
答:继承CWinApp类并需要重写该类的成员函数InitInstance。
4. 以下哪个消息不属于Windows 应用程序的消息来源(B)A:输入消息B:输出消息C:系统消息D:用户消息5. 在CWinApp类的关键函数中,负责消息循环的函数是(A)A. RunB. InitInstanceC. OnPaintD. WndProc6. 下列哪个宏用于处理用户自定义消息?(A)A. ON_COMMANDB. ON_MESSAGEC. ON_CONTROLD. ON_NOTIFY7. 下列不属于MFC消息的类型的是(D)A) 窗口消息B) 控件通知消息C) 命令消息D) 循环消息8. 下列关于Windows消息机制,说法正确的是(C)。
A. 具体的应用程序截获相应的消息,并进行处理B. 窗口截获消息,并处理所有的消息C. 窗口截获消息,按照消息类型进行传递,由具体的对象处理D. 在Windows中,消息会传递到所有窗口9. 下列哪个MFC中的宏与消息映射无关?(A)A. DECLARE_DYNAMICB. DECLARE_MESSAGE_MAPC. ON_COMMANDD. END_MESSAGE_MAP10. 在MFC中,定义消息映射架构的基类是(D)。
A. CWndB. CViewC. CWinAppD. CCmdTarget11. 简述消息映射表的构成,依靠消息映射表的消息处理过程?第3章MFC应用程序框架1. 由MFC AppWizard创建的文档类是由()派生来的,视图类是由(C)派生来的。
A)CWinApp,CFrameWnd B)CView,CDocumentC)CDocument,CView D) CFrameWnd, CWinApp2. 在MFC消息机制中,1个单文档视图应用程序的消息处理优先级顺序是(A)。
A. 视图、文档、主框架、应用程序B. 文档、视图、主框架、应用程序C. 应用程序、视图、文档、主框架D. 主框架、视图、文档、应用程序3. 关于Windows文档类的说法,下列正确的是()A) 文档类代表着用户使用的文件B) 一个文档类只能对应于一个视图类C) 文档类和CFile类都是对文件进行操作D) 一个文档类可以对应多个视图类4. 多文档界面的文档/视图架构应用程序使用的框架窗口类是:()A) CFrameWndB) CMDIFrameWndC) CSDIChildWndD) CSplitterWnd5. 文档/视图结构的分工?文档相当于数据容器,视图相当于查看数据的窗口或是和数据发生交互的窗口。