WINDOWS程序设计习题

合集下载

Windows程序设计题(含简答题答案)

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)W M_VSCROLLﻩﻩﻩD)WM_CHANGE4、更新菜单状态得消息就是(C )。

A)WM_MANDB)UPDATEC)UPDATE_MAND_UI D)INVALIDATE5、对于消息队列描述正确得就是(D)A)在Windows中只有一个消息系统,即系统消息队列。

消息队列就是一个系统定义得数据结构,用于临时存储消息。

B)系统可从消息队列将信息直接发给窗口。

另外,每个正在Windows下运行得应用程序都有自己得消息队列。

C)系统消息队列中得每个消息最终都要被USER模块传送到应用程序得消息队列中去。

应用程序得消息对列中存储了程序得所有窗口得全部消息.D)以上都正确6、在MFC中,所有得控件都就是(B)类得派生类,都可以作为一个特殊得窗口来处理。

A)CViewﻩﻩB)CWndC)C WindowﻩﻩﻩD)CDialog7、使用GetDC()获取得设备上下文在退出时,必须调用(A)释放设备上下文.A)ReleaseDC()ﻩﻩﻩB)delete()C)D eleteDC()ﻩﻩﻩD)Detach()8、希望菜单无效,应该用CCmdUI类得(A )成员函数。

ﻩﻩﻩB)SetRadioA)EnableﻩﻩﻩC)SetCheckﻩﻩﻩD)SetText9、希望菜单前出现一个“√",应该用CCmdUI类得(C)成员函数.A)Enable ﻩﻩﻩB)SetRadioC)SetCheckﻩﻩD)SetText10、下面(A)不就是MFC设备环境类CDC类得派生类.A)GDI ﻩﻩﻩﻩB)CPaintDCC)CClientDC ﻩﻩD)CWindowDC11、在MFC中,所有得文档类都派生于(C),所有得视图类都派生于(A )。

第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程序设计课程复习题

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类成员函数中,用于任何消息的可覆盖函数是()。

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应用程序必须有且只能有一个从哪个类派生的全局应用程序对象,此对象在运行时刻控制应用程序中所有其他对象的活动。

Windows程序设计-大学模拟题(附答案)

Windows程序设计-大学模拟题(附答案)

《Windows 程序设计》模拟题一,单选题1. 所有的Windows 应用程序都是由()驱动的.A. 事件B. 消息C. 命令D. 菜单[答案]:B2. 一般应用程序不会派生自己的() 类.A. 主框架B. 视图C. 菜单D. 文档[答案]:C3. MessageBox 不能完成() 功能.A. 接收用户输入B. 显示消息C. 改变对话框标题D. 显示问号图标[答案]:A4. Windows 系统中的消息不包括().A. 标准Windows 消息B. 控件消息C. 命令消息D. 视图消息[答案]:D5. () 函数是从CView 继承来的成员函数,用于刷新整个视图窗口屏幕A. InvalidateB. MouseMoveC. PaintD. Brush [答案]:A6. 菜单()消息,处理菜单状态的动态变化.A. UPDA TE_UIB. UPDATEC. COMMANDD. UPDA TE_COMMAND_UI [答案]:D7. CCmdUI 类的常用成员函数()使菜单项前增加或清除√标志.A. SetCheckB. SetRadioC. SetTextD. Enable[答案]:A8. 编辑菜单时为使字母下带下划线,应使用助记符().A. @B. #C. &D. $[答案]:C9. CCmdUI 类的常用成员函数() 使菜单项前增加或清除圆点标志A. SetCheckB. SetRadioC. SetTextD. Enable[答案]:B10. C CmdUI 类的常用成员函数() 设置菜单项有效或无效.A. SetCheckB. SetRadioC. SetTextD. Enable[答案]:D11. C CmdUI 类的常用成员函数() 改变菜单项文本.A. SetCheckB. SetRadioC. SetTextD. Enable[答案]:C12. C DC 的常用函数()可以绘制矩形.A. EllipseB. RectangleC. ArcD. Circle[答案]:B13. 应用程序可以使用GDI 创建 3 种类型的图形输出,不包括().A. 矢量图形C. 光栅图形D. 文本[答案]:B14. C DC 的常用函数()可以绘制内接矩形的圆.A. EllipseB. RectangleC. ArcD. Circle[答案]:A15. () 函数用于在指定位置输出字符串.A. PrintB. TextOutC. ScanfD. Write[答案]:B16. 在View 的在普通成员函数体内用()获得设备环境A. CDCB. CWindowDCC. CClientDCD. CClassDC[答案]:C17. 创建画笔不需要给出() 参数.A. 风格B. 宽度C. 颜色D. 长度[答案]:D18. 实线画笔的风格应用()宏.A. PS_SOLIDB. PS_DASHC. PS_DOTD. PS_DASHDOT[答案]:A19. 实心画刷只需要定义().A. 填充样式B. 填充颜色D. 填充图案[答案]:B20. 对话框()描述对话框的外观和控件布局,在资源描述文件中有对话框的定义A. 资源B. 类C. 模板D. 数据[答案]:A21. 调用对话框类的对象的方法,创建并显示模态对话框.A. Print()B. Create()C. DoModal()D. Show()[答案]:C22. CDialog 中的()成员函数用于成员变量和控件之间的数据传递.A. ExchangeB. ToDoC. EXTD. UpdateData[答案]:D23. 静态控件不包括().A. 静态文本B. 按钮C. 静态图片D. 组框[答案]:B24. () 不是编辑框的消息.A. BN_CLICKEDB. EN_CHANGEC. EN_KILLFOCUSD. EN_SETFOCUS[答案]:A25. () 设置进度条的当前位置.A. SetRangeB. SetStepD. StepIt[答案]:C26. () 设置进度条范围.A. SetRangeB. SetStepC. SetPosD. StepIt[答案]:A27. () 设置进度条填充步长.A. SetRangeB. SetStepC. SetPosD. StepIt[答案]:B28. () 让进度条前进一个步长.A. SetRangeB. SetStepC. SetPosD. StepIt[答案]:D29. 文档和视图的关系是().A. 一对一B. 一对多C. 多对一D. 多对多[答案]:B30. 在视图类中获得文档类对象指针用函数().A. GetDocumentB. UpdateAllViewsC. OnUpdateD. SetModifiedFlag[答案]:A31. W in32 应用程序入口函数是().A. MainB. EntranceC. WinMainD. Inlet32. 创建窗口工作()不在WinMain 中完成.A. 设计窗口类B. 注册窗口类C. 创建窗口D. 窗口过程 [答案]:D33. 项目文件的扩展名是 (). A. exe B. dsp C. dsw D. cpp [答案]:B34. 利用 ClassWizard 不能 (). A. 建立新类 B. 进行消息映射 C. 增加类的成员变量 D. 插入资源 [答案]:D35. 下列 ()不是 MFC 消息映射机制有关的宏 . A. DECLARE_MESSAGE_MAP B. BEGIN_MESSAGE_MAP C. DECLARE_SERIAL D. END_MESSAGE_MAP [答案]:C36. 要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示 A. CBRS_TOOLTIPS B. CBRS_FL YBY C. CBRS_NOALIGN D. WS_VISIBLE [答案]:B37. 当滑块滑动时 ,滑块条控件将发送滚动消息来通知父窗口 A. WM_CHAR B. WM_HSCROLL C. WM_VSCROLL D. WM_CHANGE [答案]:B 38.要将模式对话框在屏幕上显示需要用到 ().A. CreateB. DoModal,必须设置工具栏的风格为 ().,水平滑动条发送 ()消息 .C. OnOKD. 构造函数[答案]:B39. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送()消息.A. WM_CHARB. WM_HSCROLLC. WM_VSCROLLD. WM_CHANGE[答案]:C40. 以下控件中,()没有Caption 属性.A. 按钮B. 组框C. 编辑框D. 静态文本框[答案]:C41. 关于工具栏,菜单和加速键的关系,正确的说法是().A. 工具按钮与菜单必须一一对应B. 工具栏与加速键一一对应C. 工具按钮不必与菜单一一对应D. 菜单与加速键一一对应[答案]:C42. 使用GetDC() 获取的设备上下文在退出时,必须调用()释放设备上下文.A. ReleaseDC()B. deleteC. DeleteDC()D. Detach()[答案]:A43. 列表框CListBox 类的成员函数()用来向列表框增加列表项.A. AddString()B. DeleteString()C. ResetContent()D. FindString()E. GetCount()[答案]:A44. 列表框CListBox 类的成员函数()用来清除列表项所有项目.A. AddString()B. DeleteString()C. ResetContent()D. FindString()E. GetCount()[答案]:C45. 下面()不是MFC 设备环境类CDC 类的派生类A. GDIB. CPaintDCC. CClientDCD. CWindowDC[答案]:A46. () 是非模态对话框.A. 查找对话框B. 字体对话框C. 段落对话框D. 颜色对话框[答案]:A47. 使用()通用对话框类可用打开文件.A. CFileDialogB. CColorDialogC. CPrintDialogD. CFontDialog[答案]:A48. 常见的菜单类型不包括().A. 自动菜单B. 主菜单C. 弹出菜单D. 快捷菜单[答案]:A49. 下列()不是MFCCDC 类中常用的函数.A. TextOutB. EllipseC. RectangleD. CreateRedText[答案]:D50. 对话框的功能被封装在()类中.A. CWndB. CDialogC. CObjectD. CCmdTarget[答案]:B,不包括()51. W indows 标准控件的属性设置通常由三个选项卡构成A. ColorB. GeneralC. StyleD. ExtendStyles[答案]:A52. 菜单项助记符前用()引导.A. %B. &C. #D. $[答案]:B53. 更新菜单状态的消息是().A. COMMANDB. UPDATEC. UPDATE_COMMAND_UID. INV ALIDATE[答案]:C54. 能间接调用视图类的OnDraw 函数的是()A. OnTimerB. LButtonDownC. SerializeD. Invalidate[答案]:D55. 下列()不是MFC 消息映射机制有关的宏.A. DECLARE_MESSAGE_MAPB. BEGIN_MESSAGE_MAPC. DECLARE_SERIALD. END_MESSAGE_MAP[答案]:C56. 下面()不是GDI 对象.A. CFontB. CPaletteC. CClientDCD. CBitmap[答案]:C57. 列表框的类型不包括()A. SimpleB. DropdownC. DropListD. Scroll[答案]:D58. 设置编辑框控件的文本内容,可使用函数()A. SetWindowTextB. SetSelC. ReplaceSelD. GetWindowText[答案]:A59. 使用()函数获取的设备上下文在退出时必须调用ReleaseDC释放.A. GetWindowsDCB. GetDCC. GetDesktopDCD. GetClientDC[答案]:B60. 类CButton 不是下列() 控件对应的类.A. 命令按钮B. 单选按钮C. 复选框D. 静态文本框[答案]:D61. 列表框CListBox 类的成员函数()用来返回列表框的列表项总数.A. AddString()B. DeleteString()C. ResetContent()D. FindString()E. GetCount()[答案]:F62. 滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl 类的成员函数()代表设置滑动块位置.A. SetRange()B. SetPos()C. SetTic()D. SetPoint()E. SetTicFreq()[答案]:B,按指定增量移动 ,CSliderCtrl 类的成员函数 ()代表设置刻 ,用于手动设置刻度线 .A. SetRange()B. SetPos()C. SetTic()D. SetPoint()E. SetTicFreq()[答案]:C 64.滑动条是由滑动块和刻度线构成 ,按指定增量移动 ,CSliderCtrl 类的成员函数 ()代表设置刻 度线的疏密程度 ,配合 Autoticks 属性使用 ,每隔一定单位自动显示一条刻度线 . A. SetRange() B. SetPos() C. SetTic() D. SetPoint() E. SetTicFreq() [答案]:F二,判断题1. UpdateData(true) 函数完成成员变量的值传递给控件的操作 [答案]:F2. 基于对话框的应用程序 ,也有文档类和视图类 [答案]:F3. 调用 DestroyWindow 函数完成非模态对话框的销毁工作 . [答案]:T4.每个对话框资源都会关联一个对话框类 ,常派生于CDialog, 通过该类对象间接操纵对话框 [答案]:T 5.基于对话框的应用程序在运行时也有菜单栏 .[答案]:F6. 对话框的功能被封装在 CDialog 类中 . [答案]:T7. 使用 CColorDialog 通过对话框类可以显示颜色对话框 . [答案]:T8. DDX 为对话框数据交换用 . [答案]:T9. DDV 完成成员变量和控件之间的交换 . [答案]:F 10.OnOK 函数中进行对话框的初始化工作 . [答案]:F11. 对话框只由对话框类组成 . [答案]:F63.滑动条是由滑动块和刻度线构成 度线位置 ,一次只能设置一个12. 从对话框的工作方式看,对话框可分为模式对话框和非模式对话框.[答案]:T13. 查找对话框是模式对话框.[答案]:F14. 颜色对话框是非模式对话框.[答案]:F15. 每一个单选按钮在对话框类中都可以映射一个int 类型值变量.[答案]:F16. 当编辑框中的文本已被改变,在新的文本显示之后发送EN_CHANGE 通知消息. [答案]:T17. C Button 类控件只有按键按钮一种类型. [答案]:F18. 一组单选按钮在组中的序号从 1 开始. [答案]:F19. 向列表框增加列表项只能使用CListBox 类成员的AddString 函数. [答案]:F20. 一个旋转按钮控件与一个相伴的控件一起使用时,该控件的Tab 键次序必须大于旋转按钮[答案]:F21. 进度条控件的操作封装在CProgressCtrl 类. [答案]:T22. 多个静态文本控件必须有不同的ID 号.[答案]:F23. 调用Create 成员函数创建动态分割窗口. [答案]:T24. 调用Create 成员函数创建静态分割窗口.[答案]:F25. 视图派生类的成员函数通过调用GetDocument 函数得到当前文档对象的指针.[答案]:T26. 用户可以通过项目工作区窗口的ResourceView 视图来查看资源.[答案]:T27. 利用MFC 编程时,所有的消息与消息处理函数的添加都必须采用ClassWizard 类向导来完成.[答案]:F28. 窗口是Windows 应用程序的基本操作单元,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位.[答案]:T29. W indows 应用程序的入口也是main 函数.[答案]:F30. 键盘鼠标消息都是命令消息.[答案]:F31. 使用MFCAppWizard[exe]向导创建应用程序框架时,向导生成的文件名和类名是不可以更改的.[答案]:F32. 消息映射是将消息处理函数与要处理的特定消息连接起来的一种机制.[答案]:T33. 命令消息是由菜单项,工具栏按钮和快捷键等用户界面对象发出的WM_COMMAND 消息.[答案]:T34. 用快捷键F9 既可设置断点,又可取消断点.[答案]:T35. 调试程序时,会同时出现Variable 窗口和Watch 窗口.[答案]:T36. W indows 是一个基于事件的消息驱动系统.[答案]:T37. M FC 采用消息映射来处理消息.[答案]:T38. W M_RBUTTONDOWN 是鼠标右键按下时产生的消息.[答案]:T39. 给菜单项定义快捷键,只需在菜单项属性设置对话框的Caption 文本框中说明即可. [答案]:F40. 快捷菜单一般出现在鼠标箭头的位置.[答案]:T41. U PDATE_COMMAND 是更新命令用户接口消息.[答案]:F42. 工具栏停靠特性只能设置一次.[答案]:T43. 状态栏的功能由CToolBar 类实现.[答案]:F44. C Menu 类,CToolBar 类和CStatusBar 类的根基类是相同的.[答案]:T45. 菜单选择只可以通过鼠标操作来完成.[答案]:F46. 状态栏可以通过资源编辑器来编辑.[答案]:F47. M FC 应用程序框架为状态栏定义的静态数组indicators 放在MainFrm.h 文件中. [答案]:F48. 在菜单设计时,& 字符的作用是使其后的字符加下划线.[答案]:T49. C ClientDC 代表整个窗口的设备环境.[答案]:F50. 删除CPen 对象可调用CPen 对象的DeleteObject 函数.[答案]:F51. D DB 又称GDI 位图,它依赖于具体设备,只能存在于内存中.[答案]:T52. 创建阴影画刷函数是CreateHatchBrush. [答案]:T53. 深绿色RGB 值为(0,128,0).[答案]:T54. W indows 引入GDI 的主要目的是为了实现设备相关性. [答案]:F55. W indows 用COLORREF 类型的数据存放颜色.[答案]:T56. W indows 是按图形方式输出字符的.[答案]:T57. T extOut 是CDC 类中常用的文本输出函数.[答案]:T58. 创建画笔后必须调用CDC 类的成员函数SelectObject 将画笔选人当前设备环境[答案]:T59. 对话框创建后,发送WM_CREATE 消息,在该消息处理代码中创建各控件. [答案]:T60. 通过AppWizard 建立的程序不能被立即执行. [答案]:F61. 打开一个项目,只需打开对应的项目工作区文件. [答案]:T62. 在同一项目中,VisualC++ 在内部用来标识资源的资源符号不能重复. [答案]:T63. 在Windows 环境下,资源与程序源代码紧密相关.[答案]:F64. 用户可以通过选择Tools|Customize 菜单命令设置集成开发环境的工具栏. [答案]:T65. 项目工作区文件的扩展名为dwp. [答案]:F66. C trl+F5 是编辑程序的快捷键[答案]:F67. F7 是运行程序的快捷键.[答案]:F三,填空题1. 项目工作区文件的扩展名是###.[答案]:dsw2. 修改公司,描述等信息需用###编辑器.[答案]:Version3. 利用###可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码.[答案]:应用程序向导4. 启动VisualC++,进入VisualC++IDE, 从###菜单上选择New菜单项,此时将弹出New对话框[答案]:应用程序向导5. 利用###可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码[答案]:File6. 句柄是Windows 使用的一种无重复整数,主要用来###.[答案]:标识应用程序中的一个对象7. 一个单文档的MFC 应用程序框架一般包括 5 个类:应用程序类,框架窗口类,###,文档类和文档模板类.[答案]:视图类8. 用户点击菜单项后,会产生###消息.[答案]:WM_COMMAND9. 改变菜单项文本是使用CCmdUI 类的###成员函数.[答案]:SetText10. 处理菜单命令消息首先会在###类中.[答案]:视图11. 弹出快捷菜单使用的是CMenu 类的###函数.[答案]:TrackPopupMenu12. 在状态栏中添加文本使用的是CStatusBar类的###函数.[答案]:SetPaneText13. 与DOS 字符方式下的输出不同,Windows 是按###方式输出的[答案]:图形14. 为了体系Windows 的设备无关性,应用程序的输出面向一个称为### 的虚拟逻辑设备[答案]:设备环境15. 可以利用CGdiObject 类的成员函数###将GDI 对象设置成指定的库存对象.[答案]:CreateStockObject16. 对话框的主要功能是###和输出信息.[答案]:接收用户输入17. 使用###函数可用创建非模式对话框.[答案]:Create18. 每个控件最多只能关联Control 和Value 类型成员变量各###个.[答案]:119. 一组单选按钮在对话框类中只能映射一个,序###类型值变量,对应单选按钮在组中的序号号从0 开始.[答案]:int。

Windows程序设计-大学模拟题(附答案)

Windows程序设计-大学模拟题(附答案)

《Windows程序设计》模拟题一,单选题1.所有的Windows应用程序都是由()驱动的.A.事件B.消息C.命令D.菜单[答案]:B2.一般应用程序不会派生自己的()类.A.主框架B.视图C.菜单D.文档[答案]:C3.MessageBox不能完成()功能.A.接收用户输入B.显示消息C.改变对话框标题D.显示问号图标[答案]:A4.Windows系统中的消息不包括().A.标准Windows消息B.控件消息C.命令消息D.视图消息[答案]:D5.()函数是从CView继承来的成员函数,用于刷新整个视图窗口屏幕.A.InvalidateB.MouseMoveC.PaintD.Brush[答案]:A6.菜单()消息,处理菜单状态的动态变化.A.UPDA TE_UIB.UPDATEMANDD.UPDA TE_COMMAND_UI[答案]:DmdUI类的常用成员函数()使菜单项前增加或清除√标志.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:A8.编辑菜单时为使字母下带下划线,应使用助记符().A.@B.#C.&D.$[答案]:CmdUI类的常用成员函数()使菜单项前增加或清除圆点标志.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:BmdUI类的常用成员函数()设置菜单项有效或无效.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:DmdUI类的常用成员函数()改变菜单项文本.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:C12.CDC的常用函数()可以绘制矩形.A.EllipseB.RectangleC.ArcD.Circle[答案]:B13.应用程序可以使用GDI创建3种类型的图形输出,不包括().A.矢量图形C.光栅图形D.文本[答案]:B14.CDC的常用函数()可以绘制内接矩形的圆.A.EllipseB.RectangleC.ArcD.Circle[答案]:A15.()函数用于在指定位置输出字符串.A.PrintB.TextOutC.ScanfD.Write[答案]:B16.在View的在普通成员函数体内用()获得设备环境.A.CDCB.CWindowDClientDClassDC[答案]:C17.创建画笔不需要给出()参数.A.风格B.宽度C.颜色D.长度[答案]:D18.实线画笔的风格应用()宏.A.PS_SOLIDB.PS_DASHC.PS_DOTD.PS_DASHDOT[答案]:A19.实心画刷只需要定义().A.填充样式B.填充颜色C.填充模式[答案]:B20.对话框()描述对话框的外观和控件布局,在资源描述文件中有对话框的定义.A.资源B.类C.模板D.数据[答案]:A21.调用对话框类的对象的方法,创建并显示模态对话框.A.Print()B.Create()C.DoModal()D.Show()[答案]:C22.CDialog中的()成员函数用于成员变量和控件之间的数据传递.A.ExchangeB.ToDoC.EXTD.UpdateData[答案]:D23.静态控件不包括().A.静态文本B.按钮C.静态图片D.组框[答案]:B24.()不是编辑框的消息.A.BN_CLICKEDB.EN_CHANGEC.EN_KILLFOCUSD.EN_SETFOCUS[答案]:A25.()设置进度条的当前位置.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:C26.()设置进度条范围.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:A27.()设置进度条填充步长.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:B28.()让进度条前进一个步长.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:D29.文档和视图的关系是().A.一对一B.一对多C.多对一D.多对多[答案]:B30.在视图类中获得文档类对象指针用函数().A.GetDocumentB.UpdateAllViewsC.OnUpdateD.SetModifiedFlag[答案]:A31.Win32应用程序入口函数是().A.MainB.EntranceC.WinMainD.Inlet[答案]:C32.创建窗口工作()不在WinMain中完成.A.设计窗口类B.注册窗口类C.创建窗口D.窗口过程[答案]:D33.项目文件的扩展名是().A.exeB.dspC.dswD.cpp[答案]:B34.利用ClassWizard不能().A.建立新类B.进行消息映射C.增加类的成员变量D.插入资源[答案]:D35.下列()不是MFC消息映射机制有关的宏.A.DECLARE_MESSAGE_MAPB.BEGIN_MESSAGE_MAPC.DECLARE_SERIALD.END_MESSAGE_MAP[答案]:C36.要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必须设置工具栏的风格为().A.CBRS_TOOLTIPSB.CBRS_FL YBYC.CBRS_NOALIGND.WS_VISIBLE[答案]:B37.当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,水平滑动条发送()消息.A.WM_CHARB.WM_HSCROLLC.WM_VSCROLLD.WM_CHANGE[答案]:B38.要将模式对话框在屏幕上显示需要用到().A.CreateB.DoModalC.OnOKD.构造函数[答案]:B39.当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送()消息.A.WM_CHARB.WM_HSCROLLC.WM_VSCROLLD.WM_CHANGE[答案]:C40.以下控件中,()没有Caption属性.A.按钮B.组框C.编辑框D.静态文本框[答案]:C41.关于工具栏,菜单和加速键的关系,正确的说法是().A.工具按钮与菜单必须一一对应B.工具栏与加速键一一对应C.工具按钮不必与菜单一一对应D.菜单与加速键一一对应[答案]:C42.使用GetDC()获取的设备上下文在退出时,必须调用()释放设备上下文.A.ReleaseDC()B.deleteC.DeleteDC()D.Detach()[答案]:A43.列表框CListBox类的成员函数()用来向列表框增加列表项.A.AddString()B.DeleteString()C.ResetContent()D.FindString()E.GetCount()[答案]:A44.列表框CListBox类的成员函数()用来清除列表项所有项目.A.AddString()B.DeleteString()C.ResetContent()D.FindString()E.GetCount()[答案]:C45.下面()不是MFC设备环境类CDC类的派生类.A.GDIB.CPaintDClientDCD.CWindowDC[答案]:A46.()是非模态对话框.A.查找对话框B.字体对话框C.段落对话框D.颜色对话框[答案]:A47.使用()通用对话框类可用打开文件.A.CFileDialogolorDialogC.CPrintDialogD.CFontDialog[答案]:A48.常见的菜单类型不包括().A.自动菜单B.主菜单C.弹出菜单D.快捷菜单[答案]:A49.下列()不是MFCCDC类中常用的函数.A.TextOutB.EllipseC.RectangleD.CreateRedText[答案]:D50.对话框的功能被封装在()类中.A.CWndB.CDialogC.CObjectmdTarget[答案]:B51.Windows标准控件的属性设置通常由三个选项卡构成,不包括()A.ColorB.GeneralC.StyleD.ExtendStyles[答案]:A52.菜单项助记符前用()引导.A.%B.&C.#D.$[答案]:B53.更新菜单状态的消息是().MANDB.UPDATEC.UPDATE_COMMAND_UID.INV ALIDATE[答案]:C54.能间接调用视图类的OnDraw函数的是()A.OnTimerB.LButtonDownC.SerializeD.Invalidate[答案]:D55.下列()不是MFC消息映射机制有关的宏.A.DECLARE_MESSAGE_MAPB.BEGIN_MESSAGE_MAPC.DECLARE_SERIALD.END_MESSAGE_MAP[答案]:C56.下面()不是GDI对象.A.CFontB.CPalettelientDCD.CBitmap[答案]:C57.列表框的类型不包括()A.SimpleB.DropdownC.DropListD.Scroll[答案]:D58.设置编辑框控件的文本内容,可使用函数()A.SetWindowTextB.SetSelC.ReplaceSelD.GetWindowText[答案]:A59.使用()函数获取的设备上下文在退出时必须调用ReleaseDC释放.A.GetWindowsDCB.GetDCC.GetDesktopDCD.GetClientDC[答案]:B60.类CButton不是下列()控件对应的类.A.命令按钮B.单选按钮C.复选框D.静态文本框[答案]:D61.列表框CListBox类的成员函数()用来返回列表框的列表项总数.A.AddString()B.DeleteString()C.ResetContent()D.FindString()E.GetCount()[答案]:F62.滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数()代表设置滑动块位置.A.SetRange()B.SetPos()C.SetTic()D.SetPoint()E.SetTicFreq()[答案]:B63.滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数()代表设置刻度线位置,一次只能设置一个刻度线,用于手动设置刻度线.A.SetRange()B.SetPos()C.SetTic()D.SetPoint()E.SetTicFreq()[答案]:C64.滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数()代表设置刻度线的疏密程度,配合Autoticks属性使用,每隔一定单位自动显示一条刻度线.A.SetRange()B.SetPos()C.SetTic()D.SetPoint()E.SetTicFreq()[答案]:F二,判断题1.UpdateData(true)函数完成成员变量的值传递给控件的操作.[答案]:F2.基于对话框的应用程序,也有文档类和视图类.[答案]:F3.调用DestroyWindow函数完成非模态对话框的销毁工作.[答案]:T4.每个对话框资源都会关联一个对话框类,常派生于CDialog,通过该类对象间接操纵对话框. [答案]:T5.基于对话框的应用程序在运行时也有菜单栏.[答案]:F6.对话框的功能被封装在CDialog类中.[答案]:T7.使用CColorDialog通过对话框类可以显示颜色对话框.[答案]:T8.DDX为对话框数据交换用.[答案]:T9.DDV完成成员变量和控件之间的交换.[答案]:F10.OnOK函数中进行对话框的初始化工作.[答案]:F11.对话框只由对话框类组成.[答案]:F12.从对话框的工作方式看,对话框可分为模式对话框和非模式对话框.[答案]:T13.查找对话框是模式对话框.[答案]:F14.颜色对话框是非模式对话框.[答案]:F15.每一个单选按钮在对话框类中都可以映射一个int类型值变量.[答案]:F16.当编辑框中的文本已被改变,在新的文本显示之后发送EN_CHANGE通知消息.[答案]:T17.CButton类控件只有按键按钮一种类型.[答案]:F18.一组单选按钮在组中的序号从1开始.[答案]:F19.向列表框增加列表项只能使用CListBox类成员的AddString函数.[答案]:F20.一个旋转按钮控件与一个相伴的控件一起使用时,该控件的Tab键次序必须大于旋转按钮. [答案]:F21.进度条控件的操作封装在CProgressCtrl类.[答案]:T22.多个静态文本控件必须有不同的ID号.[答案]:F23.调用Create成员函数创建动态分割窗口.[答案]:T24.调用Create成员函数创建静态分割窗口.[答案]:F25.视图派生类的成员函数通过调用GetDocument函数得到当前文档对象的指针.[答案]:T26.用户可以通过项目工作区窗口的ResourceView视图来查看资源.[答案]:T27.利用MFC编程时,所有的消息与消息处理函数的添加都必须采用ClassWizard类向导来完成.[答案]:F28.窗口是Windows应用程序的基本操作单元,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位.[答案]:T29.Windows应用程序的入口也是main函数.[答案]:F30.键盘鼠标消息都是命令消息.[答案]:F31.使用MFCAppWizard[exe]向导创建应用程序框架时,向导生成的文件名和类名是不可以更改的.[答案]:F32.消息映射是将消息处理函数与要处理的特定消息连接起来的一种机制.[答案]:T33.命令消息是由菜单项,工具栏按钮和快捷键等用户界面对象发出的WM_COMMAND消息.[答案]:T34.用快捷键F9既可设置断点,又可取消断点.[答案]:T35.调试程序时,会同时出现Variable窗口和Watch窗口.[答案]:T36.Windows是一个基于事件的消息驱动系统.[答案]:T37.MFC采用消息映射来处理消息.[答案]:T38.WM_RBUTTONDOWN是鼠标右键按下时产生的消息.[答案]:T39.给菜单项定义快捷键,只需在菜单项属性设置对话框的Caption文本框中说明即可. [答案]:F40.快捷菜单一般出现在鼠标箭头的位置.[答案]:T41.UPDATE_COMMAND是更新命令用户接口消息.[答案]:F42.工具栏停靠特性只能设置一次.[答案]:T43.状态栏的功能由CToolBar类实现.[答案]:F44.CMenu类,CToolBar类和CStatusBar类的根基类是相同的.[答案]:T45.菜单选择只可以通过鼠标操作来完成.[答案]:F46.状态栏可以通过资源编辑器来编辑.[答案]:F47.MFC应用程序框架为状态栏定义的静态数组indicators放在MainFrm.h文件中. [答案]:F48.在菜单设计时,&字符的作用是使其后的字符加下划线.[答案]:TlientDC代表整个窗口的设备环境.[答案]:F50.删除CPen对象可调用CPen对象的DeleteObject函数.[答案]:F51.DDB又称GDI位图,它依赖于具体设备,只能存在于内存中.[答案]:T52.创建阴影画刷函数是CreateHatchBrush.[答案]:T53.深绿色RGB值为(0,128,0).[答案]:T54.Windows引入GDI的主要目的是为了实现设备相关性.[答案]:F55.Windows用COLORREF类型的数据存放颜色.[答案]:T56.Windows是按图形方式输出字符的.[答案]:T57.TextOut是CDC类中常用的文本输出函数.[答案]:T58.创建画笔后必须调用CDC类的成员函数SelectObject将画笔选人当前设备环境. [答案]:T59.对话框创建后,发送WM_CREATE消息,在该消息处理代码中创建各控件.[答案]:T60.通过AppWizard建立的程序不能被立即执行.[答案]:F61.打开一个项目,只需打开对应的项目工作区文件.[答案]:T62.在同一项目中,VisualC++在内部用来标识资源的资源符号不能重复.[答案]:T63.在Windows环境下,资源与程序源代码紧密相关.[答案]:F64.用户可以通过选择Tools|Customize菜单命令设置集成开发环境的工具栏.[答案]:T65.项目工作区文件的扩展名为dwp.[答案]:F66.Ctrl+F5是编辑程序的快捷键.[答案]:F67.F7是运行程序的快捷键.[答案]:F三,填空题1.项目工作区文件的扩展名是###.[答案]:dsw2.修改公司,描述等信息需用###编辑器.[答案]:Version3.利用###可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码.[答案]:应用程序向导4.启动VisualC++,进入VisualC++IDE,从###菜单上选择New菜单项,此时将弹出New对话框[答案]:应用程序向导5.利用###可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码[答案]:File6.句柄是Windows使用的一种无重复整数,主要用来###.[答案]:标识应用程序中的一个对象7.一个单文档的MFC应用程序框架一般包括5个类:应用程序类,框架窗口类,###,文档类和文档模板类.[答案]:视图类8.用户点击菜单项后,会产生###消息.[答案]:WM_COMMAND9.改变菜单项文本是使用CCmdUI类的###成员函数.[答案]:SetText10.处理菜单命令消息首先会在###类中.[答案]:视图11.弹出快捷菜单使用的是CMenu类的###函数.[答案]:TrackPopupMenu12.在状态栏中添加文本使用的是CStatusBar类的###函数.[答案]:SetPaneText13.与DOS字符方式下的输出不同,Windows是按###方式输出的.[答案]:图形14.为了体系Windows的设备无关性,应用程序的输出面向一个称为###的虚拟逻辑设备. [答案]:设备环境15.可以利用CGdiObject类的成员函数###将GDI对象设置成指定的库存对象.[答案]:CreateStockObject16.对话框的主要功能是###和输出信息.[答案]:接收用户输入17.使用###函数可用创建非模式对话框.[答案]:Create18.每个控件最多只能关联Control和Value类型成员变量各###个.[答案]:119.一组单选按钮在对话框类中只能映射一个###类型值变量,对应单选按钮在组中的序号,序号从0开始.[答案]:int。

windows编程测试题(含答案)

windows编程测试题(含答案)

windows编程测试题(含答案) Windows编程测试题(含答案)一、题目描述请编写一个Windows应用程序,实现以下功能:1. 在窗口中显示一个按钮和一个文本框;2. 点击按钮后,将文本框中的内容保存到文件中;3. 程序退出时,自动读取文件并在控制台输出保存的内容。

二、实现思路为了实现上述功能,我们需要通过以下步骤来开发该Windows应用程序:1. 创建一个Windows应用程序项目。

2. 在窗口中添加一个按钮和一个文本框控件。

3. 为按钮添加点击事件处理程序,在该事件处理程序中实现将文本框中的内容保存到文件的功能。

4. 在应用程序退出时,自动读取文件并在控制台输出保存的内容。

三、具体实现下面我们来详细介绍如何具体实现上述功能。

1. 创建Windows应用程序项目(这部分省略)2. 添加按钮和文本框控件在窗口设计器中,添加一个按钮控件(命名为btnSave)和一个文本框控件(命名为txtContent)。

3. 添加按钮点击事件处理程序在窗口代码文件中,找到窗口类的构造函数,在其中添加以下代码:```csharppublic partial class Form1 : Form{public Form1(){InitializeComponent();btnSave.Click += BtnSave_Click;}private void BtnSave_Click(object sender, EventArgs e){string content = txtContent.Text;File.WriteAllText("data.txt", content);MessageBox.Show("保存成功!");}```4. 添加应用程序退出事件处理程序,并在其中读取文件内容在窗口代码文件中,找到窗口类的构造函数,在其中添加以下代码:```csharppublic partial class Form1 : Form{public Form1(){InitializeComponent();btnSave.Click += BtnSave_Click;Application.ApplicationExit += Application_ApplicationExit;}private void Application_ApplicationExit(object sender, EventArgs e){string content = File.ReadAllText("data.txt");Console.WriteLine("读取到的内容:{0}", content);}}```四、测试与运行完成以上步骤后,我们可以点击运行按钮来测试程序是否按预期工作。

基于C#的Windows应用程序设计考试试题

基于C#的Windows应用程序设计考试试题

德州科技职业学院2013—2014学年度第二学期《基于C#的Windows应用程序设计》期末考试题30分)1、在C#中用于定义类的关键字是()A.classB.constC.interfaceD.System2、要退出应用程序的执行,应执行()语句。

A. Application.Exit();B. Application.Exit;C. Application.Close();D. Application.Close;3、在窗体应用程序设计时,窗口打开时触发的事件是以下哪一个? ()A. ClickB. MenuStartC. LoadD. MouseMove4、Windows应用程序的入口文件是()A. Form1.csB. Main.csC. Program.csD. Config.cs5、从窗体Form1切换到窗体Form2的代码是()A.Form2 f2=new Form2();f2.Show();B.Form2.Show();C.Application.Run(new Form2());D.不需要任何代码6、 .NET Framework 不支持()类型的用户界面A. Web窗体B. Windows窗体C.控制台应用程序组件7、在.NET 编程中,术语“托管环境”是()A. .NET Framework类库B. .NET公共运行库C. Windows窗体程序D. .NET所基于的操作系统8、文件的开始要使用关键字()引入系统命名空间。

spaceB.includeingD.import9、MessageBox对话框调用MessageBox类德静态()方法来显示对话框。

A.DialogB.ShowC.CloseD.Dispose10、在设计记事本程序是需要用到富文本框RichTextBox控件,该控件具有特殊的事件用于完成相应功能,其中能够实现剪切功能的事件为()A.Paste()B.Copy()C.Undo()D.Cut()11、修改标签的哪一个属性可以改变文字的颜色?() A.Text B. BackColor C. ForeColor D. BorderStyle12、在设计密码框时,要想让文本框回显“*”,需要设置文本框的()属性。

windows%20程序设计复习题

windows%20程序设计复习题

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)来实现的。

windows程序设计习题

windows程序设计习题

1:C语言的入口函数是哪个?分别写出各个参数的作用。

int main(int argc, char* argv[])argc是命令行总的参数个数;argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数是命令行后面跟的用户输入的参数。

2:MFC使用向导生成对话框应用程序,会自动生成三个类,如:CAboutDlg、CDemoApp、CDemoDlg,请分别说明三个类的作用?以及三个类之间的关系。

创建典型的对话框程序(示例)后,会出现如下几个类:CAboutDlg:关于版本对话框控制类;CDemoApp:应用程序管理类;CDemoDlg:对话框管理类。

其中,后两个类是根据项目名称而定的,规则是:C+项目名称+App(或Dlg)3:PostMessage与SendMessage的区别。

SendMessage 函数功能是,将指定的消息发送到一个或多个窗口。

此函数为指定的窗口调用过程处理程序,直到过程处理函数处理完消息再返回。

PostMessage 函数功能是,将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回。

4:Windows系统提供了一个定时响应的消息—WM_TIMER,该消息的名称是什么?SetTimer()函数与KillTimer()函数的作用是?WM_TIMER 定时器消息;SetTimer() 设置定时器;KillTimer() 销毁定时器5:什么是指针?什么是句柄?描述句柄与指针的区别?指针:内存单元的编号也叫做地址。

既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。

句柄,是整个windows编程的基础,一个句柄是指使用的一个唯一的整数值,是指一个四字节长的数值,用于标志应用程序中不同的对象实例。

区别:句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。

6:什么是消息?什么是事件驱动程序?消息:在Windows中发生的一切都可以用消息来表示,消息用于告诉操作系统发生了什么,所有的Windows应用程序都是消息驱动的。

Windows程序设计案例教程习题解答

Windows程序设计案例教程习题解答

Windows程序设计案例教程习题解答《Windows程序设计案例教程》习题解答第1章1.1 选择题 Framework是一种(B )。

A、编程语言B、程序运行平台C、操作系统D、数据库管理系统2.用Visual 编写的程序被编译成中间语言(MSIL)后,运行时还要再一次被编译,这种编译被称为( B )。

A、CLRB、JITC、GCD、GDIing namespace的作用是表示( A )。

A、引入名字空间B、使用数据库C、使用一个文件D、使用一段程序4.要使程序运行,需要按( B )键。

A、F5B、Ctrl+F5C、F10D、F115.C#中的数据类型有( A )和( C)两种。

A.值类型 B.调用类型 C.引用类型 D.关系类型 6.以下运算符中,(A )是三目运算符。

A.?: B.―― C.= D.<= 7.下列不能为类的成员的是(D)。

A、属性B、方法C、索引器D、接口8.下列哪一个不是类的成员的访问修饰符( B )A、privateB、baseC、publicD、protected 9. 调用构造函数创建对象时,通常使用(B )关键字。

A.typeofB.newC.asD.is10.关键字virtual只能用来修饰类的( B )成员。

A.字段B.方法C.属性D.常量11.用( B)关键字定义的方法,属于整个类而不属于类的某一个具体实例。

A.publicB.staticC.protectedD.private12.在属性的访问声明中,对属性的读操作用( B )关键字标出,表明属性的值是只读的,不能改写。

A.setB.getC.privateD.public13.声明了一个数组Array[13],则Array[3]表示第( B )个元素。

A.3B.4C.5D.无法知道14.在C#中,多继承通过( B )来实现A.属性 B.接口 C.索引器 D.方法15.采用异常处理格式编写程序的目的在于使程序( D )。

Windows程序设计:试卷

Windows程序设计:试卷
2.用C++实现设计模式中的单例模式,并调用
代码:
#include<iostream>
using namespace std;
class CSingleton {
private:
CSingleton() { }
static CSingleton *m_pInstance;
public:
static CSingleton * GetInstance() {
CSingleton* p2 = CSingleton::GetInstance();
if(p1 == p2 && p1 != NULL) { cout<<"单例模式"<<endl;}
return 0;
}
B.并行总线、地址总线、逻辑总线、物理总线
C.并行总线、串行总线、全双工总线
D.数据总线、地址总线、控制总线
9.在OSI 7层模型中,网络层的功能有( B )
A.确保数据的传送正确无误B.确定数据包如何转发与路由
C.在信道上传送比特流D.纠错与流控
10.Windows程序设计是一种( C )的程序设计模式。
2): ALTER TABLE Student ADD Scome DATE;
3): Create Unique Index Stusno on Student(Sno);
4): Select Sname From Student Where Sno > '13000000'
5): DROP TABLEStudent;
A.GDIB.CPaintDC
C. CClientDCD. CwindowDC

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】。

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

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中,⼤多数类的基类都是什么。

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

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

一.单文档程序结构(SDI)(说明:文中蓝色字体是需要输入的编程部分)程序一:题目:最简单的Windows程序。

目的:不利用AppWizard,通过自己手工编程,了解Windows程序的概貌。

了解MFC Windows程序的结构。

实现步骤:1. File-New-Projects-Win32 Application;2. 在Project Name中输入项目名:pro1;击OK钮;3. 选An empty project,击Finish; 击OK;4. Project-Add To Project-Files:加入Pro1.cpp,pro1.h文件;5.分别为pro1.cpp,pro1.h文件编写源代码程序如下:Pro1.h为:class CPro1App:public CWinApp{public:virtual BOOL InitInstance();};class CMainFrame:public CFrameWnd{public:CMainFrame();afx_msg void OnPaint();DECLARE_MESSAGE_MAP()};Pro1.cpp为:#include <afxwin.h>#include "proDemo.h"CPro1App theApp;BOOL CPro1App::InitInstance(){m_pMainWnd=new CMainFrame;m_pMainWnd->ShowWindow(m_nCmdShow);m_pMainWnd->UpdateWindow();return TRUE;}BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)ON_WM_PAINT()END_MESSAGE_MAP()CMainFrame::CMainFrame(){Create(NULL, "First Windows Project");}void CMainFrame::OnPaint(){CPaintDC dc(this);dc.TextOut(300,100,"Hello,World!");}6.Project-Settings-General-选为:Use MFC in a shared DLL-OK7.Build-Build-Execute 编译,运行。

本题要求:1.熟练掌握此题的实现过程。

2.仔细阅读程序,了解使用MFC编写WINDOWS程序的程序模式,了解在WINDOWS程序的这种程序模式中,CPro1App(主类)好比C程序中主程序main()一样,是程序的主体,是不可缺少的。

3.熟悉Visual C++环境,熟悉相关的操作。

程序二:题目:第一个Windows程序。

目的:学会利用AppWizard,实现SDI项目。

实现步骤:1.选择File-New中的Project属性页,选择MFC AppWizard(exe)项填写:Project Name:(项目名为:)FirstLocation:项目存放的地址和选择工作平台.填后,单击OK钮。

2.选择单文档 SDI项目后,按Finish按钮。

3.找到视类中的 OnDraw()成员函数,加入下代码:void CFirstView::OnDraw(CDC* pDC){CFirstDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data herepDC->TextOut(100,100,”Welcome!”);}4.编译,链接。

5.运行结果如下:本题要求:1.熟练掌握此题的实现过程。

2.做完此程序后,阅读项目中的所有文件,明白下列事情:(1)SDI项目中有四个类:应用类(主类):CFirstApp框架类:CMainFrame文档类:CFirstDoc视类: CFirstView(2)这四个类的功能分别是:应用类(主类)CFirstApp:好比主程序一样,是程序的主体,它内含一个重要的成员函数InitInstance(),在这里实现程序的初始工作。

框架类CMainFrame:又称窗口类,主要内含OnCreate()函数; PreCreateWindow()函数;文档类CFirstDoc:是管理数据的类,它可实现数据的存取等工作,它主要内含: Serialize()函数;视类CFirstView:是显示数据的类;主要内含:OnDraw()函数;(3)视类中的OnDraw()函数是处理输出等事情的接口函数。

(4)掌握第一个CDC类的成员函数CDC::TextOut()的用法。

它的原型是:(详见HELP)BOOL TextOut( int x, int y, const CString& str );它的功能是:在视窗的x,y坐标处输出字符串str。

程序三:题目:CScrollView的练习。

目的:学会CScrollView的生成与使用。

实现步骤:1.生成SDI项目,在生成过程中的第5步处,选择视的基类为CScrollView即可。

项目名为:Sview。

2.修改视类中的OnInitialUpdate()函数为:void CSviewView::OnInitialUpdate(){CScrollView::OnInitialUpdate();CSize sizeTotal;// TODO: calculate the total size of this viewsizeTotal.cx = sizeTotal.cy = 1000;SetScrollSizes(MM_TEXT, sizeTotal);}3.编程:void CSviewView::OnDraw(CDC* pDC){CEx4Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data herepDC->TextOut(100,100,"Hi,How are you?");}本题要求:1.熟练掌握此题的实现过程。

2.掌握CScrollView的生成方法,同时外延掌握其它视的生成,例如:CEditView,CFormView等视的生成。

二.消息处理机制程序一:题目:使用WINDOWS消息WM_LBUTTONDOWN与WM_RBUTTONDOWN目的:学习使用ClassWizard,学习在ClassWizard的帮助下,建立消息映射机制。

实现步骤:1.生成SDI项目,项目名为:Msg12.启动ClassWizard:选View菜单下的ClassWizard子菜单。

3.在ClassWizard环境中,选Message Map属性页后做:Project:Msg1Class Name:CMsg1View (在视类中建立消息映射)Object IDs:CMsg1ViewMessages:选WM_LBUTTONDOWN按Add Function钮,此时消息WM_LBUTTONDOWN与其消息处理函数之间的映射就建立起来了;再:Messages:选WM_RBUTTONDOWN按Add Function钮,建立消息WM_RBUTTONDOWN与其消息处理函数之间的映射;按Edit Code钮,进入消息处理函数的编程。

4.编程:void CMsg1View::OnLButtonDown(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultMessageBox(“This is WM_LBUTTONDOWN。

”)CView::OnLButtonDown(nFlags, point);}void CMsg1View::OnRButtonDown(UINT nFlags, CPoint point) {// TODO: Add your message handler code here and/or call default MessageBox(“This is WM_RBUTTONDOWN。

”)CView::OnLButtonDown(nFlags, point);}5.编译,运行,单击鼠标左右键,就可看到运行结果。

本题要求:熟练掌握“实现步骤3”,掌握通过ClassWizard建立消息映射的方法,掌握消息处理函数的编程。

程序二:题目:时钟程序,使用WINDOWS消息WM_TIMER,WM_DESTROY和WM_CREATE来建立数字式时钟。

目的:学习WINDOWS消息WM_TIMER,WM_DESTROY和WM_CREATE的使用,学习利用这些WINDOWS消息实现一个小实用程序。

实现步骤:1.生成SDI项目,项目名为:Time2.利用ClassWizard,在视类中建立WM_TIMER,WM_DESTROY和WM_CREATE消息的消息映射。

3.为消息处理函数及OnDraw()函数编程如下:int CTimeView::OnCreate(LPCREATESTRUCT CreateStruct){if (CView::OnCreate(lpCreateStruct) == -1)return -1;// TODO: Add your specialized creation code hereSetTimer(1,1000,NULL);//设置时钟事件;return 0;}void CTimeView::OnDestroy(){CView::OnDestroy();// TODO: Add your message handler code hereKillTimer(1);//撤消时钟事件;}void CTimeView::OnTimer(UINT nIDEvent){// TODO: Add your message handler code here and/or call default Invalidate();//调OnDraw()函数CView::OnTimer(nIDEvent);}void CTimeView::OnDraw(CDC* pDC){CTimeDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereCTime t=CTime::GetCurrentTime();//获取当前时间;CString str;str.Format("%02d:%02d:%02d",t.GetHour(),t.GetMinute(),t.GetSecond());//格式输出;pDC->TextOut(200,100,str);}4.编译,运行。

相关文档
最新文档