Windows程序设计题_第1页
Windows程序设计题_第2页
Windows程序设计题_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Windows 程序设计模拟题单项选择题1. 在 VC+ 中,项目文件的扩展名是( B)。A ) exeB)dspC) dswD ) cpp2. 在 MFC 中,利用 ClassWizard 不能( D )。A )建立新类B)进行消息映射C)增加类的成员变量D )插入资源当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(3.C)消息。4.5.A ) WM_CHARB ) WM_HSCROLLC) W M_VSC ROLL更新菜单状态的消息是( CA ) WM_COMMAND)。C) UPDATE_COMMAND_UI对于消息队列描述正确的是(A)在Windows中只有一个消息

2、系统,据结构,用于临时存储消息。D ) WM_CHANGEB ) UPDATED)INVALIDATE即系统消息队列。 消息队列是一个系统定义的数B)系统可从消息队列将信息直接发给窗口。另外,每个正在 Windows下运行的应用程序都有自己的消息队列。C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。应用程序的消息对列中存储了程序的所有窗口的全部消息。D)以上都正确6. 在 MFC 中,所有的控件都是( B )类的派生类,都可以作为一个特殊的窗口来处理。CViewB ) CWndC)7. 使用D ) CDialogGetDC() 获取的设备上下文在退出时,必须调用

3、( A )释放设备上下文。CWindowReleaseDC()B ) delete()C)DeleteDC()D ) Detach()8. 希望菜单无效,应该用 CCmdUI 类的( A )成员函数。A ) EnableB ) SetRadioC) SetCheckD ) SetText9.希望菜单前出现一个“V”,应该用 CCmdUI类的(C)成员函数。A ) EnableB ) SetRadioC) SetCheckD ) SetText10.下面(A)不是MFC设备环境类CDC类的派生类。A ) GDIB ) CPaintDCC) CClientDCD) CWindowDC11.在MFC

4、中,所有的文档类都派生于( C ),所有的视图类都派生于( A )。A) CView B) CWindow C) CDocument D) CFormView12. 采用 C+ 进行绘图时,( B )用于指定图形的填充样式,( A )用于指定图形的边框样 式。A)画笔B)画刷C)区域D)位图13. ( C )包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由程序来处理消息。A)系统消息B)用户消息C)输入消息D )控制消息14项目文件的扩展名是( B)。A ) exe B ) dsp C) dsw D ) cpp15. 在 MFC 中,

5、文档负责将数据存储到永久存储介质中,通常是磁盘文件或数据库,存取 过程称为( B)。A )文件访问B)串行化C)文件读写D)格式化16. 在 VC+ 6.0 在编程环境中,运行程序的快捷键是( A)。A)Ctrl+F5B) F7C) Ctrl+F7 D) F517. 在 VC+ 6.0 在编程环境中,设置和取消断点的快捷键都是(A)。A)F9B) F5C) F11D) F1018. 在 MFC 中,在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属 性对话框中的( B)。A)SeparatorB) Pop-upC) InactiveD) Grayed19. 使用GetWindow

6、DC()和GetDC()获取的设备上下文在退出时,必须调用(C)释放设备上下文。D ) Detach( )C)代表整个窗口的显示设备D) CMetaFileDCA) DeleteDC( )B ) delete( )C) ReleaseDC( )20. 在MFC中,(B)代表窗口客户区的显示设备上下文,( 上下文。A) CPaintDCB) CClientDC C) CWindowDC21. 对话框的功能被封装在(B)类中。A) CWndB) CDialogC) CObjectD ) CCmdTarget22. ( C)包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Win dow

7、s将它们送入应用程序消息队列中,由程序来处理消息;(D)用来与 Windows的控制对象,如列表框、 按钮、复选框等进行双向通信。 当用户在列表框中改动当前选择或改变了复选框 的状态时发出此类消息。A )系统消息B)用户消息C)输入消息D )控制消息23. 生成 1 个只具有确定和取消按钮的消息框,其参数为( C )。A ) MB_OKB) MB_YESNOC) MB_OKCANCELD) MB_RETRYCANCEL24. 在Windows程序设计中如果加入了滚动条。设置滚动条的围使用(C)函数,设置滚动条的位置使用(E)函数,获得滚动块的当前位置使用(F )函数。A) SetPos()C)

8、 SetScrollRange()E) SetScrollPos ()B ) SetRange()D ) GetPos()F) GetScrollPos()G) GetScrollRange ()25. 消息循环的处理过程如下TRUE;函数通(A)函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;- 发现队列不为空,便取出一条消息,把它拷贝到msg 结构变量中,同时该函数返回得到消息msg后,(B)把来自键盘的命令翻译成 WM_XXX 消息命令形式。( 知 Windows 把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数,而由Windows 根据消息去调用窗口函数

9、,因此,窗口函数经常被称为回调函数。C) PostMessage( )A) GetMessage( ) B) translateMessage( )D) SendMessage( ) E) DispatchMessage( )以下变量命名正确的是m_pWndA )。B )。26. 如果要严格按照匈牙利命名法命名1 个局部窗口句柄,A ) g_hWnd B ) m_hWndC)g_pWnd D )27. 在 Windows 编程约定中,应用程序接口的英文缩写是(A ) APIB ) SDI C) GDID ) MDI28. 在 Windows 编程约定中,软件开发包的英文缩写是 ( C )。A

10、) APIB )SDIC)SDKD)MDI29. 在 Windows 编程约定中,图像设备接口的英文缩写是( C )。A ) APIB )SDIC)GDID )MDI30. 以下对应于 unsigned long 的数据类型为:( B )A ) WORDB) DWORD C) INT D ) BYTE31. 下列选项中,不属于匈牙利命名法属性部分的是( D )。A ) g_ B ) m_C )c_32. 如果要严格按照匈牙利命名法命名A ) g_hWnd B ) m_hWnd C )D ) d_1 个全局窗口句柄, 以下变量命名正确的是 g_pWnd D ) m_pWndA )。33. 下列

11、Windows 数据格式中,代表设备句柄的是( B )。A ) HWNDB) HDCC) HINSTANCE D ) HFONT34. 在一个窗口的正常运行的 Windows 程序中,把主窗口创建语句做如下改动:hWnd = CreateWindow(NULL, szTitle, WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); 则下列说确的是( C )。 A ) 程序仍然正常运行,与改动前相比没有变化B ) 程序出现编译错误C) 程序编译通过,但没有窗口显示D ) 程序正

12、常运行,窗口标题变为 NULL35. 典型的 Windows 窗口程序的流程为:( A )A ) 注册窗口类 -创建窗口 -显示窗口 -更新窗口 -消息循环 B ) 创建窗口 -注册窗口类 -显示窗口 -更新窗口 -消息循环 C) 创建窗口 -注册窗口类 -显示窗口 -更新窗口 -消息循环 D ) 注册窗口类 -创建窗口 -更新窗口 -显示窗口 -消息循环true。36. 菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为A ) Visible B ) GrayedC )Enable D ) Separator37. 在 Windows 消息机制中,菜单消息类型是:( B )A )

13、 WM_PAINTB ) WM_COMMANDC) WM_CREATED) WM_CLOSE38. 在Windows编程中,代表键盘的” f 键的虚拟键值是(A )。 A ) VK_UPB ) WM_KEYDOWNC)WM_KEYUPD)VK_DOWN39.在 Windows编程中,响应键盘按键按下消息的Windows 消息是( B )。A)VK_UPB)WM_KEYDOWNC)WM_KEYUPD)VK_DOWN40. 在 Windows 编程中,按下键盘的 A 键后,返回的 Windows 消息是( B )。 A ) VK_AB ) WM_KEYDOWNC) AD ) DIK_A41. 在

14、Windows 编程中,按下鼠标左键产生的 Windows 消息是( B )。 A ) WM_KEYDOWNB ) WM_LBUTTONDOWNC) WM_LEFTD) WM_RBUTTONDOWN42. 下列哪个缩写是微软提供的 C+ 语言的帮助库?( B ) A) MFCB) MSDNC) APID)SDK43. Windows 编程中,定时器消息是( B )A ) WM_TIMEB ) WM_TIMERC) WM_ON_TIMED) WM_COMMAND44. GDI 环境中,窗口的坐标系是如何构成的?( D )A)左上角为原点,x 轴正方向为水平向右,y 轴正方向为竖直朝上B)中间为原

15、点,x 轴正方向为水平向右,y 轴正方向为竖直朝上C)左下角为原点,x 轴正方向为水平向右,y 轴正方向为竖直朝下D)左上角为原点,x 轴正方向为水平向右,y 轴正方向为竖直向下45.以下选项中,GDI 不能支持的是:(B )A)位图B) Flash 动画C)直线和曲线D)文字46.设备环境 DC的全称为: ( B )A)Device ContentB ) Device ContextsC)Device ConfigD) Device Conter47.InvalidateRect的作用是 ( B )A)删除一个矩形B )使一个矩行区域变为无效,从而可以重绘C) 使一个矩形区域变为无效,从而释

16、放部分GDI 资源D ) 擦除一个矩形区域48. 已知窗口为缺省状态,有如下代码:HDC hdc = GetDC( hWnd );HPEN hpen = CreatePen( 1, 1, RGB(255,0,0) );SelectObject( hdc, hpen );Ellipse( hdc, 050, 50, 200, 200 ); 则这段代码的执行效果是( B )。 A ) 绘制 1 个黑色的椭圆形边框,无填充颜色B ) 绘制 1 个红色的椭圆形边框,无填充颜色C) 绘制 1 个黑色的椭圆形,填充为黑色,无边框D) 绘制 1 个红色的椭圆形,填充为红色,无边框49. 已知有如下代码:HD

17、C hDC = GetDC(hWnd);LineTo(hDC,100,100);则这段代码的执行效果是( A )。 A) 从窗口的左上角至坐标 (100,100)绘制 1 条直线 B ) 没有绘制任何图形C) 从窗口的任意一点开始至坐标(100,100)绘制1条直线D)从鼠标在窗口的位置至坐标 (100, 100)绘制一条直线50. 以下函数中不受画刷影响的函数是:(C)A)RectangleB)EllipseC)LineToD)Polygon51. 如果要创建一个宋体字体,那么字体描述中哪个属性为“宋体”? (C)A)IfCharSetB)IfQualityC)lfFaceNameD)lfS

18、trikeOut52. 在 Windows编程约定中,位图句柄为( B )。A) HGDIB)HBITMAPC) HDCD) HPEN53. 下面哪个步骤能实现透明贴图(模板位图为单色的1位位图)? ( A)A)位图和背景像素作异或操作 -使用模板位图作与操作-原位图与背景作异或操作B)使用模板位图作与操作- 原位图与背景作异或操作- 位图和背景像素作异或操作C)位图和背景像素作异或操作 - 原位图与背景作异或操作 - 使用模板位图作与操作D) 位图与背景作异或操作- 位图和背景像素作异或操作- 使用模板位图作与操作54. 在BitBlt函数中进行光栅化处理方式中,哪1个值说明是要进行或运算?

19、( D)A) SRCANDB)SRCCOPYC) SRCINVERTD)SRCPAINT55. 动态库文件的后缀名为( B )。A) libB)dllC)exe D)obj二.多选题1. 已知严格按照匈牙利命名法命名的变量m_pTemp,则以下说确的是( BC )。A)该变量是1个全局变量B)该变量是1个类成员变量C)该变量是1个指针变量D)该变量一定是1个私有变量2下列哪种情况下系统可能向窗口发送WM_PAINT消息? ( ABCD )A)窗口最初创建时B)窗口移动后部分区域由不可见变为可见C)窗口大小改变后D)3.滚动条滚动后在注册窗口类中,不需要进行的操作是(BC )。|AI载入图标B)

20、确定窗口大小C)确定窗口标题D)确定窗口类名称4. 关于 PeekMessage和 GetMessage 的说确的是( AB )A)PeekMessage 立即返回B)GetMessage将会等待消息到来C)PeekMessage等待消息到来D)GetMessage立即返回5. 关于动态菜单,以下说确的是(BD )。A)函数LoadMenu可以弹出菜单B)函数CreatMenu用于建立空菜单C)函数DeleteMenu用于删除整个菜单D)函数InsertMenu用于在菜单中插入 1个菜单项6. 以下关于 Windows的鼠标消息,说确的是( BD )。A)鼠标的按键消息种类可以从wParam中

21、得到B)鼠标的按键消息种类可以从message中得到C)鼠标的位置信息可以从 wParam 中得到D)鼠标的位置信息可以从 lParam 中得到7. 已知语句 SetTimer(NULL,1,100,NULL) ,则以下说确的是( AD )。A) 设置了一个定时器,该定时器不能正常起作用B)设置一个定时器,能够正常起作用C)设置了一个定时器,时间间隔为1 秒D)设置了一个定时器,时间间隔为100 毫秒8. 下列选项中属于 Windows GDI 资源的是( ABC )。A) 位图 B) 画笔 C) 字体 D) 窗口9. 能用于绘制直线的函数为:( AB )A) LineTo B) Polyli

22、ne C) Arc D) PolyBezier10. 画笔的线型包括:( ABD )A) 实线 B) 点划线 C) 波浪线 D) 虚线11. 创建画刷的函数有:(ABC )A)CreateHatchBrushB)CreateSolidBrushC)CreatePatternBrushD)CreateLogicBrush12. 在 Windows 消息机制中,消息系统 3 大关键要素是( ABC )。A) 消息队列B) 消息循环C) 消息处理函数D) 消息映射13. 下列哪种情况下系统可能向窗口发送WM_PAIN消息? ( BCD )A)窗口最初创建时B)窗口移动后部分区域由不可见变为可见C)窗

23、口大小改变后D)滚动条滚动后14. 匈牙利表示法的变量一般分为哪几个部分? (ABC)A)属性(例如gB) 类型C)描述D)后缀15. 下列选项中,可以用 Windows 句柄标识的有( ABD )。A)窗口 B)文件 C)消息 D)字体16. 关于 Windows 句柄,下列说确的是( AD )。A)每个运行着的 Win dows程序都有对应的 Win dows实例句柄B)同1个Windows程序打开多次时,对应同 1个实例句柄C)1个 Windows实例句柄只能对应 1个窗口句柄D)1个Windows实例句柄可以对应多个窗口句柄三、名词解释1 、事件:可能触发计算机程序做出相应反应的刺激2

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

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

26、hile(GetMessage(&msg,NULL,NULL,NULL)Tran slateMessage(&msg);DispatchMessage(&msg);四填空题1、 在MFC中,用户可以通过项目工作区窗口的ResourceView视图来查看资源。2、 一个单文档的MFC应用程序框架一般包括 5个类:应用程序类、框架窗口类、视图类、 文档类和文档模板类。3、Windows是一个基于消息的消息驱动系统。4、 项目工作区文件的扩展名是dsw。5、MessageBox函数弹出一个小的对话框向用户显示短信息,并将用户最终的选择返回给调用者。6、 在通常情况下,视图派生类的成员函数过调用Get

27、Document函数得到当前文档对象的 指针。7、Windows程序中的消息有窗口消息、命令消息和控件通知消息三种类型。& MFC中的集合类包括数组、列表(链表)、映射(顺序可变)。9、在进行绘图时,画刷用于指定图形的填充样式,画笔用于指定图形的边框样式。10、 用户按下键盘按键并放开的过程中,将产生至少三条消息:WM_KEYDOWN ,WM_CHAR , WM_KEYUP。11、Windows API中API的中文译文是应用程序接口 。12、 MFC的中文译文是微软基础类库。13、GDI的中文译文是图形设备接口。14、全局函数 AfxGetApp()可以得到CWinApp应用类指针。15、

28、MFC中可自动重绘的绘图代码一般位于项目的视图类的OnDraw()函数中。16、在视图中,GetDocument()函数可得到对应的文档对象指针。17、在文档中,GetFirstviewPosition()和GetNextview()配合可用来遍历所有和文档关联的视图。18、 在MFC中,用CRect类来描述一个矩形区域的大小。19、 在任何时刻设备环境中必须有一支画笔,并且只能有一支。因此在使用自己定义的画笔时,要使用CDC的函数把默认画笔替换为自己定义的画笔,这个函数是SelectObject()。20、 “FC的缺省的映射模式是 MM_TEXT对应的单位为像素。21、 在视图类中为了访问

29、与视图关联的文档对象中数据,应该先调用GetDocument ()函数得到相关联文档对象指针。22、利用MFC AppWizard可以生成SDI界面、MDI界面和基于对话框界面的程序。23、 在框架窗口中,GetActiveDocument ()函数可得到当前活动文档指针, GetActiveView ()函数可得到当前活动视指针。24 MFC对话框类的基类是 CDialog ,用户自定义对话框类都是从它派生而来。25 Win dows系统是一个消息响应事件驱动的操作系统,消息是应用程序与操作系统交互的 手段。26. GetMessage()被用来从消息队列获取消息,27. 函数Transla

30、teMessage()用来把键盘消息转换为字符消息,函数DispatchMessage()用来向系统派送消息。五、选择填空题(每空1分,共15分)1、 _B代表窗口客户区的显示设备上下文,-C_代表整个窗口的显示设备上下文。A、CPaintDC B 、CClientDCC、CWindowDCD 、CMetaFileDC2、 消息循环的处理过程如下:A函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回TRUE ;得到消息msg后,_B_把来自键盘的命令翻译成WM_XXX 消息命令形式。E函数通知 Wi

31、ndows把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数, 而由Windows根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。A、GetMessage( ) B、translateMessage( ) C 、PostMessage()D SendMessage( ) E 、DispatchMessage()3、 滚动条类CScrollBar的成员函数规定了滚动条的操作。设置滚动条的围使用 C_函数,设置滚动块的位置使用_E函数,获取滚动块的当前位置使用_F_函数。A、SetPos B、SetRange C、SetScrollRange D、GetPosE、SetScro

32、llPos F、GetScrollPos G、 GetScrollRange4、所有的文档类都派生于 _C_,所有的视图类都派生于 _A_。A、CView B、CWindowC、CDocument D、CFormView5、 C_包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由程序来处理消息;D_用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。A、系统消息B 、用户消息C、输入消息D 、控制消息6、 使用_B获取的设备上下文在退出时,必须调用Rele

33、aseDC()释放设备上下文。A、GetWindowRect( )B、GetDC()C、BeginPaint ()D、GetClientRect()六判断题1. 所谓的Windows API就是独立于C语言的一套全新的程序设计语言。(x )2. 在Windows编程约定中,CHAR数据类型和TCHAR数据类型是相同的。( x )3. 匈牙利命名法是所有程序都必须遵循的一个规则,变量的命名必须按照规则进行。(x )4. 在Windows编程约定中,代表窗口句柄的数据类型是HWND。( V )5. 在Windows编程中,使用窗口句柄来操作具体的窗口。(V )6. 在Windows的消息结构中,键

34、盘的按键字符信息被保存在IParam中。(x )7. 在Windows消息机制中, WM_TIMER 消息表示创建了 1个定时器。( x )8. 所有的 Windows程序,其入口函数必须名为WinMain。( x )9. PostMessage和SendMessage的区别在于前者投递消息到队列,而后者直接调用消息响 应函数。(V10. 在Windows编程中,AppendMenu可以在菜单的任意位置插入新的菜单项。(x )11. 在Windows编程中,菜单可以在资源视图中设计,一旦载入程序,就不能再被更改。(x )12. 在Windows编程中,键盘按键弹起时,会返回消息WM_KEYDO

35、WN 。( x )13. 在Windows编程中,鼠标消息中不包含任何键盘信息。(x )14. 在Windows编程中,1个程序中只允许设置一个定时器。(x )15. 画笔颜色构成是 OxOOBBGGRR,其中B、G、R分别代表1位16进制数表示蓝、绿和红色分量的大小。(V )16. 对于GDI点阵字体和GDI笔划字体,Windows都可以合成粗体、斜体、加底线和加删除线,而不需要为每种属性另外储存字体。(V)17. FillRect中指定的画刷是用于画矩形本身和边框,FrameRect中指定的画刷是用于画矩形的边框。(x )18. Win32 API可以直接读取所有的图像格式。(x )19打

36、开一个项目,只需打开对应的项目工作区文件。(V )20 基于对话框的应用程序,也有文档类和视图类。(X )21 .所有的 Windows应用程序都是消息驱动的。(V )22 COMMAND(菜单消息类型)是更新命令用户接口消息。(X )23. 删除CPen对象可调用 CPen对象的DeleteObject函数。(X )24. CBrush 是 GDI 对象。(V )25. Windows应用程序的入口也是 main函数。(x )七.简答题1. Windows应用程序的主函数有哪三个主要任务答 注册窗口类、创建应用程序的窗口和建立消息循环。2运行程序后单击鼠标右键弹出对话框提示“您按下了鼠标右键

37、”对话框。简要说明设计步 骤。参考答案:(1)新建基于单文档的应用程序;(2)用类向导映射鼠标右键消息;(3)在消息函数中添加代码:MessageBox(您按下了鼠标右键”);3、利用AppWizard生成默认的SDI应用程序My时,向导自动生成的哪四个类?及其相 应的功能。参考答案:CMainFrame (构建应用程序,显示窗架)CMyApp (整个应用程序)CMyDoc (管理数据)CMyView (显示数据)4. 创建窗口的五个步骤:参考答案:1 )定义窗口2)注册窗口3 )创建窗口 4)显示窗口5)消息循环5. 如何显示和更新窗口?答:调用函数 ShowWindow显示窗口,调用函数

38、UpdateWindows更新窗口。6. 什么是消息循环?答:在创建了窗口的应用程序中, 应用程序将不断地从消息队列中获取消息,并将消息指派给指定的窗口处理函数来处理, 然后再回来从消息队列获取消息, 这个不断重复的 工作过程叫做消息循环。7. 说明Windows应用程序的主函数、窗口函数与Windows系统之间的关系。答:Windows应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序 启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。&文档类的成员函数 UpdateAllViews 的作用是什么?答:通知

39、文档所对应的所有窗口同时进行重绘。9. MFC应用程序的界面有哪三种方式?答:(1)单文档界面;(2)多文档界面;(3)基于对话框界面。10. WinMain()函数的工作。WinMain()函数是 Windows程序的入口点 在 WinMain中进行注册窗体类、 建立窗体、显 示窗体、更新窗体、建立消息循环11 .非MFC的Windows程序中,在WM_PAINT消息中怎样获得客户区的设备环境句柄。和不是 WM_PAINT消息中怎样获得客户区的设备环境句柄。BeginPaintEndPaint GetDCReleaseDC(成对出现)利用GetDC函数获取设备环境句柄12. 句柄的含义。句柄

40、是一个通常为 32位的无符号整数(unsigned int ),它代表一个核对象,是核对 象在应用层的表示。13. 在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同14. GetMessage()函数在什么情况下返回0 从而导致消息循环终止程序结束。 在接收到 WM_QUIT肖息时返回015. Windows中应用程序的输出是怎样进行的。通过设备描述表 DC( Device Con text )来进行应用程序与物理设备之间的交互16当程序中某个函数改变了数据而需要重新绘制客户区时WM_PAINT不会被自动调用,这时需要怎样间接调

41、用它。使用 InvalidateRect()调用17. 键盘消息处理函数 OnKeyDown(UINT nChar,UINT nRepCnt,UINT nFlags) 中的主要参数。参数UINT nChar指按下按键的虚拟键码;nRepCnt按键按下的次数;nFlags有没有其他键同时被按下;如 shift 、ctrl、Alt18. DC中的SetROP2()的作用。设定绘图模式19. 扩展名为.re的文件是什么。资源文件20. GDI绘图函数所使用的参数。GDI绘图函数使用的逻辑坐标21 .当用户按下某个字母键时消息发生的顺序。WM_KEYDOWN-Tra nslateMessage()-W

42、M_CHAR22常用的客户区鼠标消息有哪些答WM_LBUTTONDBC双击鼠标左键 WM_LBUTTONDOW按下 鼠标左键 WM_LBUTTONUP释放鼠标左键 WM_MOUSEMO移动鼠标 WM_RBUTTONDBCLK击鼠标右键 WM_RBUTTONDOWN 按下鼠标右键WM_RBUTTONU释放鼠标右键23.什么样的窗口才能接收键盘消息答 在Windows中 有时会同时打开多个窗口。 在这些窗口中只有一个是活动窗口这个窗口一般是屏幕上位置最靠前的窗口它的特征是其标题栏被点亮的而不是灰色的。只有活动窗口才具有输入焦点而 Windows中规定只有具有输入焦点的窗口才能接收键盘消息 也就是说

43、 只有活动窗口才能接收键盘消息。24键盘消息分为哪几类哪些键只产生按键消息不产生字符消息答键盘消息可以分成按键消息和字符消息两类。按键消息分为系统按键消息(WM_KEYDOWN,WM_KEYU非系 统按键消息WM_SYSKEYDOWN,WM_SYSKEYU字 符消息也同样分为系统字符消息WM_CHAR,WM_DEADCHAR和非系统字符消息WM_SYSCHAR,WM_SYSDEADCHA值得注意的是系统按键消息只能产生系统字符消息非系统按键消息只能产生非系统的字符消息。 字符消息的这些键包括Shift键、Ctrl在Windows中一些键是只产生按键消息而不产生 键、功能键、光标移动键、特殊字符

44、键。25.在程序中如何确定窗口何时具有输入焦点何时失去输入焦点。答 当应用程序的窗口获得输入焦点时会发出 WM_SETFOCUS息 而当窗口失去输入焦点时 会发出 WM_KILLFOCU消息。如果一个窗口获得了输入焦点便可以用键盘对这个窗口进行操作。26. 在WNDCLASSE结构类型中,各个成员所代表的含义是什么?WNDCLASSEX结构类型定义如下: typedef struct _WNDCLASSEX UINT cbSize;UINT style;WNDPROC IpfnWndProc;int cbClsExtra;int cbWndExtra;HINSTANCE hln sta nee

45、;HICON hlco n;HCURSOR hCursor; HBRUSH hbrBackgrou nd; LPCTSTR IpszMe nuName; LPCTSTR IpszCIassName; HICON hIco nSm; WNDCLASSEX27. 在CreateWindowEx()函数中,各成员所代表的含义是什么? CreateWi ndowEx() 函数定义如下:HWND CreateWi ndowEx(DWORD dwExStyle, LPCTSTR IpCIassName, LPCTSTR IpWi ndowName, DWORD dwStyIe, int x, int y,

46、 intn Width,intnH eight,HWNDhWndPare nt,HMENU hMe nu, HINSTANCE hln sta nee, LPVOID IpParam);28. UpdateWindow()函数的功能什么? UpdateWi ndow()函数定义如下: BOOL UpdateWi ndow(HWND hWnd);答:更新窗口客户区29. 在MSG结构类型中,各个成员所代表的含义是什么? MSG结构类型定义如下:typedef struct tagMSG HWND hwnd;UINT message; WPARAM wParam; LPARAM IParam; D

47、WORD time;POINT pt; MSG, *PMSG;30. DefWindowProc()函数的功能什么?DefWi ndowProc() 函数定义如下:LRESULT DefWi ndowProc(HWND hWnd, UINT Msg,WPARAM wParam, LPARAM IParam);答:函数功能:该函数调用缺省的窗口过程来为应用程序没有处理的任何窗口 消息提供缺省的处理。该函数确保每一个消息得到处理。31.讲匈牙利命名惯例的约定,还要记住那些习惯用法?牙利命名惯例的约定有两条:1.标识符以一个或者几个小写字母开始,这些小写字母表示标识符的数据型;大小写混杂写,使得标识

48、符具有一定的含义,便于理解,增强可读性。习惯用法:在命名结构变量时, 可以用结构名的小写字符序列作为变量名的字首,或者用整个结构名用作结构变量名。32消息循环从应用程序消息队列取得窗口消息是怎样送給窗口消息处理程序?答:通过Dispatch(&msg)将消息发给指定的窗口;33. 主程序 WinMain和WndProc是如何联系的?答:WinProc窗口处理函数是一个回调函数,它是用来处理消息的,是由Windows调用的。在注册窗口类的时候指定了窗口处理函数的入口地址,应用程序获得的消息都交给此入口地址对应的窗口处理函数来处理。34. 解释下面函数申明中的每一个单词int WINAPI Win

49、Main ( HINSTANCE hInstanee,HINSTANCE hPrevInstanee,LPSTR lpCmdLine, int nShowCmd );答:HINSTANCE是数据类型,hlnstanee称为执行实例代号。hPrevInstanee是一个识别字,通过检查hPrevInstanee就能够确定此应用程序是否已有过其他实例。IpCmdLine是指向命令序列的指针。nShowCmd指出应用程序的窗口的最初显示方式。35. 窗口类结构中常用的有那几个载入函数?它们的用法如何?答:LoadIcon函数HICON WINAPILoadIc on( /返回的指向图标的指针,如果失

50、败,返回NULLHINSTANCE hln sta nee,/用户定义图标在哪个实例中,NULL 为系统图标LPCSTR IpIc onN ame /图标名,也称图标上的标签);LoadCursor()函数HCURSOR WINAPI LoadCursor (/返回新载入的光标的句柄HINSTANCE hln sta nee,/载入的光标LPCTSTR IpCursorName) /预定义的光标资源名36、 有哪两种方法获得屏幕的hDC?答:利用 GetDC()取得窗口 hDC;在处理 WM_PAINT消息期间使用 BeginPaint()获得hDC;37、BeginPaint和EndPain

51、t在什么情况下使用,为什么要成对出现?答:在处理 WM_PAINT消息期间使用。38、InvalidateRect 所决定的重绘区和 BeginPaint所决定 的重绘区有什么区别?InvalidateRect最后一个参数的作用是什么?答:程序调用Beg in Pai nt时,在大多数情况下,fErase被标志为FALSE(O),这 意味着Windows已经擦除了无效矩形的背景。在调用BeginPaint后PAINTSTrUcT 结构的fErase条款将成为TRUE非零)。而程序通过调用InvalidateRect函数使客户区中的矩形失效,则该函数的最后一个参数会指示是否擦除背景。如果这个参数

52、为FALSE则执行InvalidateRect时Windows将不擦除背景,反之,贝U会擦除背景。39、 GetSystemMetrics函数的用处是什么?GetTextMetrics函数的用处是什么?为了存储它 们所获得的信息,预先定义一个结构是什么?40、 什么情况下产生 WM_CREATE窗口消息?什么情况下产生WM_PAINT 窗口消息?答:产生 WM_CREATE 窗口消息:执行 CreateWindow函数时产生 WM_PAINT 窗口消息:执行 UpdateWindow函数时在使用者移动窗口或显示窗口时,窗口中先前被隐藏的区域重新可见。使用者改变窗口的大小(如果窗口类别样式有着C

53、S HREDRAW 和 CS VREDRAW 位旗标的设定)。程序使用 ScrollWindow 或ScrollDC函数滚动显示区域的一部 分。程序使用 InvalidateRect 或 InvalidateRgn 函数刻意产生 WM_PAINT 消息。Windows擦除覆盖了部分窗口的对话框或消息框。(可能)菜单下拉出来,然后被释放。(可能)显示工具提示消息。41、为什么 WM_SIZE窗口消息后必然跟着一个 WM_PAINT窗口消息?答:为我们定义窗口类的时候制定了类风格CS_HREDRAW|CS_VREDRAW42、如果用户希望立即更新无效区域,可以在调用InvalidateRect之后

54、调用什么函数?答:UpdateWi ndow43. 按照产生的按键消息分,按键分成那两类?答:系统按键和非系统按键44. 按键消息有哪四种形式 ?系统按键消息有什么特点 ?它在哪里处理?那些不是系统按键 消息?答:四种形式: WM_KEYDOWN WM_SYSKEYDOWNWM_KEYUP WM_SYSKEYU|特点:系统按键可能是一个按键也可能是几个按键的组合键,系统按键对Windows系统起作用。由默认分支DefWindowProc处理系统键盘消息。WM_KEYDOWNWM_KEYUP45. 数字和字母的虚拟键码是怎样定义的?答:数字、字母的虚拟键码是用ASCII码定义的。46. 窗口函数中 WM_KEYDOWN 消息处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论