Windows程序设计题(含简答题答案)要点.pdf

上传人:tbuqq 文档编号:5198489 上传时间:2020-02-19 格式:PDF 页数:17 大小:174.43KB
返回 下载 相关 举报
Windows程序设计题(含简答题答案)要点.pdf_第1页
第1页 / 共17页
Windows程序设计题(含简答题答案)要点.pdf_第2页
第2页 / 共17页
Windows程序设计题(含简答题答案)要点.pdf_第3页
第3页 / 共17页
Windows程序设计题(含简答题答案)要点.pdf_第4页
第4页 / 共17页
Windows程序设计题(含简答题答案)要点.pdf_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《Windows程序设计题(含简答题答案)要点.pdf》由会员分享,可在线阅读,更多相关《Windows程序设计题(含简答题答案)要点.pdf(17页珍藏版)》请在三一文库上搜索。

1、第 1 页 Windows程序设计模拟题 一 单项选择题 1. 在 VC+ 中,项目文件的扩展名是(B)。 A) exe B)dsp C) dsw D)cpp 2. 在 MFC 中,利用ClassWizard 不能( D )。 A)建立新类B)进行消息映射 C) 增 加类的成员变量D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A) WM_CHAR B)WM_HSCROLL C) WM_VSCROLL D)WM_CHANGE 4. 更新菜单状态的消息是(C )。 A) WM_COMMAND B)UPDATE C)UPDATE_COMMAND_

2、UI D)INVALIDATE 5. 对于消息队列描述正确的是(D ) A)在 Windows 中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数 据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外, 每个正在Windows 下运行的应用程 序都有自己的消息队列。 C) 系统消息队列中的每个消息最终都要被USER 模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在 MFC 中,所有的控件都是(B )类的派生类,都可以作为一个特殊的窗口来处理。 A) CView B)CWnd C) CWindow

3、D)CDialog 7. 使用 GetDC() 获取的设备上下文在退出时,必须调用(A )释放设备上下文。 A) ReleaseDC() B)delete() C) DeleteDC() D)Detach() 8. 希望菜单无效,应该用CCmdUI 类的( A )成员函数。 A) Enable B)SetRadio C) SetCheck D)SetText 9. 希望菜单前出现一个“”,应该用CCmdUI 类的( C)成员函数。 A) Enable B)SetRadio C)SetCheck D)SetText 10. 下面( A)不是 MFC 设备环境类CDC 类的派生类。 A) GDI

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

5、展名是(B)。 A)exe B)dsp C) dsw D) cpp 15. 在 MFC 中,文档负责将数据存储到永久存储介质中,通常是磁盘文件或数据库,存取 过程称为( B)。 A)文件访问B)串行化C)文件读写D)格式化 16. 在 VC+ 6.0 在编程环境中,运行程序的快捷键是(A)。 A) Ctrl+F5 B)F7 C)Ctrl+F7 D)F5 17. 在 VC+ 6.0 在编程环境中,设置和取消断点的快捷键都是(A)。 A) F9 B)F5 C)F11 D)F10 18. 在 MFC 中,在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属 性对话框中的(B)。 A) S

6、eparator B)Pop-up C)Inactive D)Grayed 19. 使用 GetWindowDC( ) 和 GetDC( ) 获取的设备上下文在退出时,必须调用(C)释放设备 上下文。 A)DeleteDC( ) B)delete( ) C)ReleaseDC( ) D)Detach( ) 20. 在 MFC 中,( B)代表窗口客户区的显示设备上下文,(C)代表整个窗口的显示设备 上下文。 A)CPaintDC B) CClientDC C)CWindowDC D)CMetaFileDC 21. 对话框的功能被封装在(B)类中。 A) CWnd B)CDialog C) CO

7、bject D)CCmdTarget 22. (C)包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows 将它们送入应用程序消息队列中,由程序来处理消息;(D)用来与Windows 的控制对象, 如列表框、 按钮、 复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框 的状态时发出此类消息。 A)系统消息B)用户消息C)输入消息D)控制消息 23. 生成 1 个只具有确定和取消按钮的消息框,其参数为(C )。 A) MB_OK B)MB_YESNO C) MB_OKCANCEL D)MB_RETRYCANCEL 24. 在 Windows 程序设计中如果加入

8、了滚动条。设置滚动条的范围使用(C)函数,设置滚 动条的位置使用(E)函数,获得滚动块的当前位置使用(F )函数。 A) SetPos()B)SetRange() C)SetScrollRange()D)GetPos() E)SetScrollPos()F)GetScrollPos() 第 3 页 G) GetScrollRange() 25. 消息循环的处理过程如下: (A)函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦 发现队列不为空,便取出一条消息,把它拷贝到msg 结构变量中,同时该函数返回TRUE ; 得到消息msg 后,( B)把来自键盘的命令翻译成WM_

9、XXX消息命令形式。(E)函数通 知 Windows 把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数,而由 Windows 根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。 A)GetMessage( ) B) translateMessage( ) C)PostMessage( ) D)SendMessage( ) E)DispatchMessage( ) 26. 如果要严格按照匈牙利命名法命名1 个局部窗口句柄,以下变量命名正确的是( B )。 A) g_hWnd B)m_hWnd C)g_pWnd D)m_pWnd 27. 在 Windows 编程约定中,应用程序

10、接口的英文缩写是(A )。 A)API B)SDI C)GDI D)MDI 28. 在 Windows 编程约定中,软件开发包的英文缩写是( C )。 A) API B)SDI C)SDK D)MDI 29. 在 Windows 编程约定中,图像设备接口的英文缩写是(C )。 A) API B)SDI C)GDI D)MDI 30. 以下对应于unsigned long 的数据类型为:(B ) A) WORD B)DWORD C)INT D) BYTE 31. 下列选项中,不属于匈牙利命名法属性部分的是(D )。 A) g_ B)m_ C)c_ D)d_ 32. 如果要严格按照匈牙利命名法命名

11、1 个全局窗口句柄,以下变量命名正确的是( A )。 A) g_hWnd B)m_hWnd C)g_pWnd D)m_pWnd 33. 下列 Windows 数据格式中,代表设备句柄的是(B )。 A) HWND B)HDC C) HINSTANCE D)HFONT 34. “在一个窗口的正常运行的Windows 程序中,把主窗口创建语句做如下改动: hWnd = CreateWindow(NULL, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); 则

12、下列说法正确的是(C )。 “ A) 程序仍然正常运行,与改动前相比没有变化 B) 程序出现编译错误 C) 程序编译通过,但没有窗口显示 D) 程序正常运行,窗口标题变为NULL 35. 典型的 Windows 窗口程序的流程为:(A ) A) 注册窗口类 -创建窗口 -显示窗口 -更新窗口 -消息循环 B) 创建窗口 -注册窗口类 -显示窗口 -更新窗口 -消息循环 C) 创建窗口 -注册窗口类 -显示窗口 -更新窗口 -消息循环 D) 注册窗口类 -创建窗口 -更新窗口 -显示窗口 -消息循环 36. 菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。( D ) A)

13、 Visible B)Grayed C) Enable D) Separator 37. 在 Windows 消息机制中,菜单消息类型是:(B ) A) WM_PAINT B) WM_COMMAND C) WM_CREATE D) WM_CLOSE 38. 在 Windows 编程中,代表键盘的“ “键的虚拟键值是( A )。 A) VK_UP B) WM_KEYDOWN 第 4 页 C) WM_KEYUP D) VK_DOWN 39. 在 Windows 编程中,响应键盘按键按下消息的Windows 消息是(B )。 A) VK_UP B) WM_KEYDOWN C) WM_KEYUP D)

14、 VK_DOWN 40. 在 Windows 编程中,按下键盘的“A“ 键后,返回的Windows 消息是(B )。 A) VK_A B)WM_KEYDOWN C) A D)DIK_A 41. 在 Windows 编程中,按下鼠标左键产生的Windows 消息是(B )。 A) WM_KEYDOWN B) WM_LBUTTONDOWN C) WM_LEFT D)WM_RBUTTONDOWN 42. 下列哪个缩写是微软提供的C+语言的帮助库?(B ) A) MFC B)MSDN C) API D)SDK 43. Windows 编程中,定时器消息是(B ) A) WM_TIME B)WM_TIM

15、ER C) WM_ON_TIME D)WM_COMMAND 44. GDI 环境中,窗口的坐标系是如何构成的?(D ) A) 左上角为原点,x 轴正方向为水平向右,y 轴正方向为竖直朝上 B) 中间为原点,x 轴正方向为水平向右,y 轴正方向为竖直朝上 C) 左下角为原点,x 轴正方向为水平向右,y 轴正方向为竖直朝下 D) 左上角为原点,x 轴正方向为水平向右,y 轴正方向为竖直向下 45. 以下选项中,GDI 不能支持的是:(B ) A) 位图B) Flash 动画 C) 直线和曲线D)文字 46. 设备环境 DC 的全称为:( B ) A) Device Content B) Devic

16、e Contexts C) Device Config D) Device Conter 47. InvalidateRect 的作用是( B ) A) 删除一个矩形B)使一个矩行区域变为无效,从而可以重绘 C) 使一个矩形区域变为无效,从而释放部分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 ); 则这

17、段代码的执行效果是(B )。 “ A) 绘制 1 个黑色的椭圆形边框,无填充颜色 B) 绘制 1 个红色的椭圆形边框,无填充颜色 C) 绘制 1 个黑色的椭圆形,填充为黑色,无边框 D) 绘制 1 个红色的椭圆形,填充为红色,无边框 49. “已知有如下代码: HDC hDC = GetDC(hWnd); LineTo(hDC,100,100); 则这段代码的执行效果是(A )。 “ A) 从窗口的左上角至坐标(100,100)绘制 1 条直线 B) 没有绘制任何图形 第 5 页 C) 从窗口的任意一点开始至坐标(100,100)绘制 1 条直线 D) 从鼠标在窗口的位置至坐标(100, 10

18、0)绘制一条直线 50. 以下函数中不受画刷影响的函数是:(C ) A) Rectangle B)Ellipse C) LineTo D)Polygon 51. 如果要创建一个宋体字体,那么字体描述中哪个属性为“宋体”?(C ) A) lfCharSet B)lfQuality C) lfFaceName D)lfStrikeOut 52. 在 Windows 编程约定中,位图句柄为(B )。 A) HGDI B)HBITMAP C) HDC D)HPEN 53. 下面哪个步骤能实现透明贴图(模板位图为单色的1 位位图)?(A ) A) 位图和背景像素作异或操作-使用模板位图作与操作-原位图与

19、背景作异或操作 B) 使用模板位图作与操作-原位图与背景作异或操作-位图和背景像素作异或操作 C) 位图和背景像素作异或操作-原位图与背景作异或操作-使用模板位图作与操作 D) 位图与背景作异或操作-位图和背景像素作异或操作-使用模板位图作与操作 54. 在 BitBlt 函数中进行光栅化处理方式中,哪1 个值说明是要进行或运算?( D ) A) SRCAND B)SRCCOPY C) SRCINVERT D)SRCPAINT 55. 动态链接库文件的后缀名为(B )。 A) lib B)dll C)exe D)obj 二.多选题 1. 已知严格按照匈牙利命名法命名的变量m_pTemp,则以下

20、说法正确的是(BC )。 A) 该变量是 1 个全局变量B) 该变量是1 个类成员变量 C) 该变量是 1 个指针变量D) 该变量一定是1 个私有变量 2 下列哪种情况下系统可能向窗口发送WM_PAINT消息?(ABCD ) A) 窗口最初创建时 B) 窗口移动后部分区域由不可见变为可见 C) 窗口大小改变后 D) 滚动条滚动后 3 在注册窗口类中,不需要进行的操作是(BC )。 A) 载入图标B) 确定窗口大小 C) 确定窗口标题D) 确定窗口类名称 4. 关于 PeekMessage和 GetMessage的说法正确的是(AB ) A) PeekMessage立即返回 B) GetMess

21、age将会等待消息到来 C) PeekMessage等待消息到来 D) GetMessage立即返回 5. 关于动态菜单,以下说法正确的是(BD )。 A) 函数 LoadMenu 可以弹出菜单 B) 函数 CreatMenu 用于建立空菜单 C) 函数 DeleteMenu 用于删除整个菜单 D) 函数 InsertMenu 用于在菜单中插入1 个菜单项 6. 以下关于 Windows 的鼠标消息,说法正确的是(BD )。 A) 鼠标的按键消息种类可以从wParam 中得到 B) 鼠标的按键消息种类可以从message中得到 第 6 页 C) 鼠标的位置信息可以从wParam 中得到 D)

22、鼠标的位置信息可以从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) Polyline C) Arc D) PolyBezier 10. 画笔的线型包括:(ABD ) A)

23、实线B) 点划线C) 波浪线D) 虚线 11. 创建画刷的函数有:( ABC ) A) CreateHatchBrush B) CreateSolidBrush C) CreatePatternBrush D) CreateLogicBrush 12. 在 Windows 消息机制中,消息系统3 大关键要素是(ABC )。 A) 消息队列B) 消息循环 C) 消息处理函数D) 消息映射 13下列哪种情况下系统可能向窗口发送WM_PAINT 消息?( BCD ) A)窗口最初创建时 B)窗口移动后部分区域由不可见变为可见 C)窗口大小改变后 D)滚动条滚动后 14匈牙利表示法的变量一般分为哪几个

24、部分?(ABC ) A)属性 ( 例如 g_) B)类型 C)描述 D)后缀 15下列选项中,可以用Windows 句柄标识的有( ABD )。 A)窗口 B)文件 C)消息 D)字体 16关于 Windows 句柄,下列说法正确的是( AD )。 A)每个运行着的Windows程序都有对应的Windows 实例句柄 B)同 1 个 Windows 程序打开多次时,对应同1 个实例句柄 C)1 个 Windows实例句柄只能对应1 个窗口句柄 D)1 个 Windows实例句柄可以对应多个窗口句柄 三、名词解释 1、事件:可能触发计算机程序做出相应反应的刺激 2、句柄:为了区别于普通变量的标识

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

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

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

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

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

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

31、tMessage( ) 被用来从消息队列获取消息, 27.函数 TranslateMessage( )用来把键盘消息转换为字符消息,函数DispatchMessage( )用 来向系统派送消息。 五、选择填空题(每空1 分,共 15 分) 1、B 代表窗口客户区的显示设备上下文,C代表整个窗口的显示设备上下文。 A、CPaintDC B、CClientDC C、 CWindowDC D、CMetaFileDC 2、消息循环的处理过程如下: A 函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回; 一旦发现队列不为空,便取出一条消息,把它拷贝到msg 结构变量中,同时该函数返回

32、TRUE ;得到消息msg 后,B把来自键盘的命令翻译成WM_XXX消息命令形式。E 函数通知Windows 把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数, 而由 Windows 根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。 A、GetMessage( ) B、translateMessage( ) C、PostMessage( ) D、SendMessage( ) E、DispatchMessage( ) 3、滚动条类CScrollBar 的成员函数规定了滚动条的操作。设置滚动条的范围使用C 函数,设置滚动块的位置使用E 函数,获取滚动块的当前位置使用F 函数。

33、 A、 SetPos B、SetRange C、SetScrollRange D、GetPos E、SetScrollPos F、GetScrollPos G、 GetScrollRange 4、所有的文档类都派生于C ,所有的视图类都派生于A。 A、CView B、CWindowC、CDocument D、CFormView 5、C包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由 Windows 将它们送入应用程序消息队列中,由程序来处理消息;D用来与 Windows 的控制对 象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复 选框的状态时发出此

34、类消息。 A、系统消息 B、用户消息C、输入消息 D、控制消息 6、使用B 获取的设备上下文在退出时,必须调用ReleaseDC( )释放设备上下文。 A、GetWindowRect( ) B、GetDC( ) C、BeginPaint()D、GetClientRect( ) 六判断题 1. 所谓的 Windows API 就是独立于C 语言的一套全新的程序设计语言。( ) 2. 在 Windows 编程约定中, CHAR 数据类型和TCHAR 数据类型是相同的。( ) 3. 匈牙利命名法是所有程序都必须遵循的一个规则,变量的命名必须按照规则进行。 ( ) 4. 在 Windows 编程约定中

35、,代表窗口句柄的数据类型是HWND 。( ) 5. 在 Windows 编程中,使用窗口句柄来操作具体的窗口。( ) 6. 在 Windows 的消息结构中,键盘的按键字符信息被保存在lParam 中。( ) 7. 在 Windows 消息机制中, WM_TIMER消息表示创建了1 个定时器。( ) 8. 所有的 Windows 程序,其入口函数必须名为WinMain 。( ) 9. PostMessage和 SendMessage的区别在于前者投递消息到队列,而后者直接调用消息响 应函数。( ) 10. 在 Windows 编程中, AppendMenu 可以在菜单的任意位置插入新的菜单项。

36、( ) 11. 在 Windows 编程中,菜单可以在资源视图中设计,一旦载入程序,就不能再被更改。 ( ) 12. 在 Windows 编程中,键盘按键弹起时,会返回消息WM_KEYDOWN。( ) 13. 在 Windows 编程中,鼠标消息中不包含任何键盘信息。( ) 14. 在 Windows 编程中, 1 个程序中只允许设置一个定时器。( ) 15. 画笔颜色构成是0x00BBGGRR ,其中 B、 G、 R 分别代表1 位 16 进制数表示蓝、绿和 红色分量的大小。( ) 16. 对于 GDI 点阵字体和GDI 笔划字体, Windows 都可以合成粗体、斜体、加底线和加删 第 9

37、 页 除线,而不需要为每种属性另外储存字体。( ) 17. FillRect中指定的画刷是用于画矩形本身和边框,FrameRect 中指定的画刷是用于画矩 形的边框。( ) 18. Win32 API 可以直接读取所有的图像格式。( ) 19打开一个项目,只需打开对应的项目工作区文件。( ) 20基于对话框的应用程序,也有文档类和视图类。( ) 21所有的Windows 应用程序都是消息驱动的。( ) 22 COMMAND( 菜单消息类型)是更新命令用户接口消息。 ( ) 23删除 CPen 对象可调用CPen 对象的 DeleteObject 函数。( ) 24 CBrush 是 GDI 对

38、象。( ) 25 Windows 应用程序的入口也是main 函数。( ) 七简答题 1Windows 应用程序的主函数有哪三个主要任务 2.运行程序后单击鼠标右键弹出对话框提示“您按下了鼠标右键”对话框。简要说明设计步 骤。 参考答案: (1)新建基于单文档的应用程序;(2)用类向导映射鼠标右键消息; (3)在消息函数中添加代码:MessageBox(“ 您按下了鼠标右键” ); 3、.利用 AppWizard 生成默认的SDI 应用程序My 时,向导自动生成的哪四个类?及其相 应的功能。 参考答案: CMainFrame (构建应用程序,显示窗架) CMyApp (整个应用程序) CMyD

39、oc (管理数据) CMyView (显示数据) 4.创建窗口的五个步骤: 参考答案: 1)定义窗口2)注册窗口3)创建窗口4)显示窗口5)消息循环 5如何显示和更新窗口? 答:调用函数ShowWindow显示窗口,调用函数UpdateWindows 更新窗口。 6什么是消息循环? 答:在创建了窗口的应用程序中,应用程序将不断地从消息队列中获取消息,并将消息 指派给指定的窗口处理函数来处理,然后再回来从消息队列获取消息,这个不断重复的 工作过程叫做消息循环。 7说明 Windows应用程序的主函数、窗口函数与Windows 系统之间的关系。 答:Windows应用程序的主函数和窗口函数都是系统

40、调用的函数,主函数是在应用程序 启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派 送给系统之后,由系统调用的用来处理消息的函数。 8文档类的成员函数UpdateAllViews的作用是什么? 答:通知文档所对应的所有窗口同时进行重绘。 9MFC应用程序的界面有哪三种方式? 答:( 1)单文档界面;(2)多文档界面;(3)基于对话框界面。 10 WinMain() 函数的工作。 第 10 页 WinMain() 函数是 Windows 程序的入口点在 WinMain 中进行注册窗体类、建立窗体、 显 示窗体、更新窗体、建立消息循环 11非 MFC 的 Windows

41、程序中,WM_PAINT消息中怎样获得客户区的设备环境句柄。 和不是 WM_PAINT 消息中怎样获得客户区的设备环境句柄。 BeginPaint -EndPaint GetDC-ReleaseDC(成对出现 ) 利用 GetDC函数获取设备环境句柄 12句柄的含义。 句柄是一个通常为32 位的无符号整数(unsigned int),它代表一个内核对象,是内 核对象在应用层的表示。 13在 MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。 当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同 14 GetMessage()函数在什么情况下返回0 在接收到 WM_QUIT 消息时返回

42、0 15 Windows 中应用程序的输出是怎样进行的。 通过设备描述表DC (Device Context)来进行应用程序与物理设备之间的交互 16 当程序中某个函数改变了数据而需要重WM_PAINT 不会被自动调用, 这时需要怎样间接调用它。 使用 InvalidateRect()调用 17键盘消息处理函数OnKeyDown(UINT nChar,UINT nRepCnt,UINT nFlags)中的主要参数。 参数 UINT nChar 指按下按键的虚拟键码;nRepCnt 按键按下的次数; nFlags有没有 其他键同时被按下;如shift、ctrl、Alt 18 DC 中的 SetR

43、OP2()的作用。 设定绘图模式 19扩展名为 .rc 的文件是什么。 资源文件 20 GDI 绘图函数所使用的参数。 GDI 绘图函数使用的逻辑坐标 21当用户按下某个字母键时消息发生的顺序。 WM_KEYDOWN-TranslateMessage()-WM_CHAR 22常用的客户区鼠标消息有哪些 WM_LBUTTONDBCLK 双击鼠标左键 WM_LBUTTONDOWN 按下鼠标左键 WM_LBUTTONUP 释放鼠标左键 WM_MOUSEMOVE 移动鼠标 WM_RBUTTONDBCLK 双击鼠标右键 WM_RBUTTONDOWN 按下鼠标右键 WM_RBUTTONUP 释放鼠标右键

44、23什么样的窗口才能接收键盘消息 Windows 有活动窗口Windows 中规定只有具有输入焦点的窗口才能接收键盘消 24.键盘消息分为哪几类只产生按键消息 (WM_KEYDOWN,WM_KEYUP)WM_SYSKEYDOWN,WM_SYSKEYUP WM_CHAR,WM_DEADCHAR WM_SYSCHAR,WM_SYSDEADCHAR 系统按键消息只能产生非系统的字符消息。在 Windows中一些键是只产生按键消息而不产生 Shift键、 Ctrl键、功能键、光标移动键、特殊字符键。 25.焦点。 WM_SETFOCUS WM_KILLFOCUS 个窗口进行操作。 26. 在 WNDC

45、LASSEX 结构类型中,各个成员所代表的含义是什么? 第 11 页 WNDCLASSEX 结构类型定义如下: typedef struct _WNDCLASSEX UINT cbSize; UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; HICON hIconSm; WNDCLA

46、SSEX 27. 在 CreateWindowEx() 函数中,各成员所代表的含义是什么? CreateWindowEx()函数定义如下: HWND CreateWindowEx(DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); 28.UpdateWindow() 函数的功能什么? U

47、pdateWindow()函数定义如下: BOOL UpdateWindow(HWND hWnd); 答:更新窗口客户区 29. 在 MSG 结构类型中,各个成员所代表的含义是什么? MSG 结构类型定义如下: typedef struct tagMSG HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; MSG, *PMSG; 30.DefWindowProc()函数的功能什么? DefWindowProc()函数定义如下: 第 12 页 LRESULT DefWindowProc(HWND

48、 hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 答:函数功能:该函数调用 缺省的窗口过程来为应用程序没有处理的任何窗口 消息提供缺省的处理。该函数确保每一个消息得到处理。 31.讲匈牙利命名惯例的约定,还要记住那些习惯用法? 匈牙利命名惯例的约定有两条: 1. 标 识 符 以 一 个 或 者 几 个 小 写 字 母 开 始 , 这 些 小 写 字 母 表 示 标 识 符 的 数 据 型 ; 2. 大小写混杂写,使得标识符具有一定的含义,便于理解,增强可读性。 习惯用法: 在命名结构变量时,可以用结构名的小写字符序列作为变量名的字首,或者用整 个结

49、构名用作结构变量名。 32消息循环从应用程序消息队列取得窗口消息是怎样送給窗口消息处理程序? 答:通过Dispatch( 答: HINSTANCE 是数据类型, hInstance 称为执行实例代号。hPrevInstance 是一个识别字, 通过检查hPrevInstance 就能够确定此应用程序是否已有过其他实例。lpCmdLine 是指向命令 序列的指针。nShowCmd 指出应用程序的窗口的最初显示方式。 35. 窗口类结构中常用的有那几个载入函数?它们的用法如何? 答: LoadIcon 函数 HICON WINAPI LoadIcon( / 返回的指向图标的指针,如果失败, 返回 NULL HINSTANCE hInstance, / 用户定义图标在哪个实例中, NULL为系统图标 LPCSTR lpIconName / 图标名,也称图标上的标签 ); LoadC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1