win程序设计模拟练习
《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. 在拆分视图的应用程序中刷新所有子视图,可以调用文档类的成员函数()。
VisualBasic程序设计自测题
VisualBasic程序设计自测题VisualBasic是一种可视化的编程语言,广泛应用于Windows平台的软件开发中。
本文将提供一组VisualBasic程序设计的自测题,旨在帮助读者巩固和检验自己对该编程语言的掌握程度。
以下是一组精选的题目,涵盖了VisualBasic的各个核心知识点和常见应用场景。
题目一:变量和数据类型1. 声明一个名为"age"的整型变量,初始值为25。
2. 声明一个名为"name"的字符串变量,初始值为"John Smith"。
3. 声明一个名为"salary"的双精度浮点型变量,初始值为1000.50。
4. 将"age"的值加上10,然后输出结果。
5. 将"name"和"salary"的值连接起来,然后输出结果。
题目二:条件语句和循环结构1. 编写一个程序,判断一个整数是否为正数、负数或零,并输出相应的提示信息。
2. 编写一个程序,输出1到10之间的所有奇数。
3. 编写一个程序,求1到100之间所有能被3整除的数之和。
4. 编写一个程序,判断一个年份是否为闰年,并输出相应的提示信息。
5. 编写一个程序,求1到100之间的所有素数(只能被1和自身整除的数)。
题目三:数组与字符串操作1. 声明一个整型数组,包含5个元素,分别为1, 2, 3, 4, 5。
2. 将数组中的所有元素相加,然后输出结果。
3. 声明一个字符串变量,值为"Hello, World!"。
4. 输出字符串的长度。
5. 将字符串中的"World"替换为"VB",然后输出结果。
题目四:函数和过程1. 编写一个函数,接受两个整数参数,返回它们的最大公约数。
2. 编写一个函数,接受一个字符串参数,统计字符串中的字母个数并返回。
windows编程测试题(含答案)范本
windows编程测试题(含答案)范本Windows编程测试题 (含答案) 范本一、概述Windows编程是一种基于Microsoft Windows操作系统的应用程序开发技术,它可以使用多种编程语言来创建各种类型的应用程序。
本文将介绍一些常见的Windows编程测试题及相应的参考答案。
二、题目1:创建一个窗口编写代码创建一个基本的窗口,并在窗口中显示“Hello, World!”。
参考答案:```#include <windows.h>LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){switch (message){case WM_PAINT:{PAINTSTRUCT ps;HDC hdc = BeginPaint(hWnd, &ps);RECT rect;GetClientRect(hWnd, &rect);DrawText(hdc, "Hello, World!", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);EndPaint(hWnd, &ps);break;}case WM_DESTROY:{PostQuitMessage(0);break;}default:{return DefWindowProc(hWnd, message, wParam, lParam);}}return 0;}int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){// 注册窗口类WNDCLASS wc = {0};wc.lpfnWndProc = WndProc;wc.hInstance = hInstance;wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);wc.lpszClassName = "MainWindowClass";RegisterClass(&wc);// 创建窗口HWND hWnd = CreateWindow("MainWindowClass", "Hello, World!", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, NULL, NULL, hInstance, NULL);// 显示窗口ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);// 消息循环MSG msg = {0};while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return (int)msg.wParam;}```三、题目2:实现菜单功能在上一题的基础上,添加一个菜单栏,包含“文件”和“帮助”两个菜单。
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编程测试题(含答案)一、题目描述请编写一个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);}}```四、测试与运行完成以上步骤后,我们可以点击运行按钮来测试程序是否按预期工作。
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编程测试题(含答案)模板一、题目描述:这部分应该描述具体的测试题目。
包括所要求完成的任务、要求用到的编程语言和工具、要求实现的功能和效果等。
二、解题思路:这部分应该详细介绍解题的思路和步骤。
可以分为以下几个子节:1. 分析问题:在这里,我们需要对问题进行分析,理解题目的要求和需要解决的具体问题。
2. 设计算法:这一部分需要提出解决问题的算法。
可以采用伪代码的形式描述算法的实现步骤和关键代码片段。
3. 编码实现:在这一部分,我们需要根据算法的设计进行具体的编码实现。
可以根据题目的要求选择合适的编程语言和工具进行实现。
4. 测试与调试:在完成编码之后,我们需要对代码进行测试和调试。
可以测试不同的输入数据,确保程序的正确性。
三、代码实现:这部分应该给出具体的代码实现。
可以按照以下的格式来书写代码:```cpp#include <iostream>using namespace std;// 在这里编写主要的函数或类的定义int main() {// 在这里编写代码的主体部分return 0;}```四、测试样例与结果:这部分应该给出一些测试样例以及对应的运行结果。
可以用表格的形式呈现。
| 输入样例 | 期望输出 ||---------|----------|| | |五、答案与解释:这部分应该给出题目的具体答案以及答案的解释说明。
可以按照以下的格式来书写答案:1. 在解题思路中提到的算法(A)的具体实现如下:```cpp// 在这里写出算法(A)的代码实现```算法(A)的时间复杂度为O(n),其中n为......2. 根据算法(A)的实现,我们可以得到如下的运行结果:| 输入 | 运行结果 ||------|---------|| | |根据运行结果,我们可以得出结论.........六、总结:这部分应该对整个测试题进行一个总结。
可以总结解题思路、代码实现的难点和要点、测试结果以及对题目的理解和改进等。
计算机程序设计员考试模拟题(含参考答案)
计算机程序设计员考试模拟题(含参考答案)一、单选题(共100题,每题1分,共100分)1.( )是结构化系统分析的基本工具。
A、数据流图B、状态转化图C、程序流程图D、对话图正确答案:A2.要在Visual C++应用程序内使用( ) ActiveX数据对象,应该选择OLE DB作为连接类型,然后再应用程序中使用ADO类。
A、DAOB、OLE DBC、ODBCD、ADO正确答案:D3.工具条编辑器实际上是一个图形工具,它主要用于( )工具条资源,并把位图转换成工具条资源,而且可使用图形界面来显示工具条和一些按钮。
A、修改B、删除C、创建D、编辑正确答案:C4.在进行软件结构概要设计时要遵循一些原则,其中“深度、宽度、扇出和扇入应该适中”中的扇出指( )。
A、一个模块被多少模块调用B、软件结构控制的层数C、软件结构中模块层的最多模块数D、一个模块直接控制的模块数正确答案:D5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。
A、客户机B、网络协议C、工作站D、服务器正确答案:D6.在表中使用IDENTITY列时,每张表只允许有()IDENTITY列。
A、一个B、两个C、三个D、四个正确答案:A7.( )依赖于事件,这和任何COM对象一样。
A、DAOB、dBASEC、OLE DBD、ODBC正确答案:C8.下列关于ClassView提供的特性中,说法错误的是:( )。
A、用户只需双击ClassView图标,就可以创建新的类B、用户只需双击ClassView图标,就可以删除类C、用户只需双击ClassView图标,就可以直接跳到代码处D、用户只需双击ClassView图标,就可以类、声明或函数定义正确答案:B9.要求表中的列在组成主键的属性上不能为空值,这是()A、实体完整性规则B、用户定义完整性规则C、参照完整性规则D、域完整性规则正确答案:A10.下列哪一种说法是对SQL Server的描述是错误的()A、关系型数据库。
Windows程序设计(VB)模拟试卷
《Windows程序设计(VB)》模拟试卷一、选择题(每个2分,共20×2=40分)1.通过()窗口可以在设计时直观地调整窗体在屏幕上的位置。
A.代码窗口B.窗体布局窗口C.窗体设计窗口D.属性窗口2. 在VB的工程中,工程文件的扩展名是()A.frmB.vbgC.vbpD.bas3. 当窗体被加载时,发生的事件是()A.LoadB.UnloadC.ResizeD.Paint4. 下列变量名中,不合法的变量名是()A.C24B.AB!C.A#BD.RIMS5. 表达式3^3\3*3/3 mod 3 的值是()A.1B.-1C.3D.06.函数INT(RND*11)+10的值的范围是()A.(0,10)B.(10,10)C.(10,20)D.(0,20)7.下面四个字符串进行比较,最小的是()A."9977"B."B123"C. "BASE"D."DATA"8. 设有如下声明:Dim X As Integer如果Sgn(X) 的值为-1,则X的值是()A. 整数B. 大于0的整数C. 等于0的整数D. 小于0的数9.设a=6,则执行x=IIF(a>5,-1,0)后,x的值为()A. 5B. 6C. 0D. -110.以下语句的输出结果是()Print Format(1234.5,"00,000.00")A.1234.5B.01,234.50C.01,234.5D.1,234.5011. 以下选项中,不属于文本框的属性是()A.ScrollBarsB.MultilineC.PassWordCharD.Min12.下面关于列表框控件和组合框控件的叙述中,叙述错误的是()A.列表框控件提供了选项的列表,用户只能进行选择输入B.组合框控件提供了选项的列表,用户既能进行选择输入,也能直接输入C.用户可以从列表框和组合框中选择一个或多个项目D.组合框是文本框和列表框的组合13. 在窗体上添加一命令按钮,并在命令按钮中编写如下代码:Private Sub Command1_ClickDim a As Singlea=-1.234567b=Int(a)c=Sgn(a)d=Abs(a)e=Fix(a)IF a<b Then Print b;IF a<c Then Print c;IF a<d Then Print d;IF a<e Then Print e;PrintEnd Sub运行后输出结果是()A.-2 -1 1.234567 -1B.-2 1.234567C.-1 1.234567 -1D.-1 -1.234567 -114. 下列程序的运行结果是()Private Sub Command1_Click()a=1:b=1For i=1 to 3a=a+b:b=b+aNext iPrint a,bEnd SubA.6 6B.5 8C.13 21D.34 5515. 在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()x=0Do Until x=-1a = InputBox("请输入A的值")a = Val(a)b = InputBox("请输入B的值")b = Val(b)x = InputBox("请输入x的值")x = Val(x)a = a+b+xLoopPrint aEnd Sub程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为( )A. 2B. 3C. 14D. 1516. 阅读下列程序段代码,按要求选择答案。
Windows程序设计考试试题
Windows程序设计试题
成果提交要求:
1、最终成果完成后,将两个项目的成果放入以自己的名字和学号命名的目录,然后上传到服务器中的
“WINDOWS成果目录”中,样例看成果目录中的样例,项目名称按题号,分别为project1和project2. 2、
1、编写基于API的WINDOW窗口应用程序,在用户区点击鼠标左键时,弹出对话框,显示“你点击了
鼠标左键,当前鼠标位置为(xxx:yyy)”,其中X和Y表示鼠标的坐标位置。
当点击右键时,在右键点击的点显示一行文字,内容为“在这里点击了右键”。
2、编写MFC基于对话框应用程序,完成以下功能,程序启动时界面如图一,当点击允许计算时,按钮变为禁止计算,同时,菜单项中动态添加求和及求平均值的菜单项,分别点击菜单项,可以计算出左侧四个文本框中输入的数字的和与平均值,如图二;当再次点击按钮,则菜单项自动被删除,按钮变为允许计算。
图一图二。
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. 在 VC++ 中,项目文件的扩展名是( B )。
A ) exe B)dsp C )dsw D ) cpp2. 在 MFC 中,利用 ClassWizard 不能( D )。
A )建立新类B )进行消息映射C )增加类的成员变量D )插入资源当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(3. C )消息。
4. 5. A ) WM_CHAR B ) WM_HSCROLL C ) W M_VSC ROLL 更新菜单状态的消息是( C A ) WM_COMMAND )。
C ) UPDATE_COMMAND_UI 对于消息队列描述正确的是( A )在Windows 中只有一个消息系统, 据结构,用于临时存储消息。
D ) WM_CHANGE B ) UPDATE D) INVALIDATE 即系统消息队列。
消息队列是一个系统定义的数 B )系统可从消息队列将信息直接发给窗口。
另外,每个正在 Windows 下运行的应用程序都有自己的消息队列。
C )系统消息队列中的每个消息最终都要被USER 模块传送到应用程序的消息队列中去。
应用程序的消息对列中存储了程序的所有窗口的全部消息。
D )以上都正确 6. 在 MFC 中,所有的控件都是( B )类的派生类,都可以作为一个特殊的窗口来处理。
CView B ) CWndC) 7. 使用 CWindow C) D ) CDialog GetDC ()获取的设备上下文在退出时,必须调用( A )释放设备上下文。
ReleaseDC() B ) delete()DeleteDC ()D )Detach ()8. 希望菜单无效,应该用CCmdUI 类的(A )成员函数。
A ) Enable B ) SetRadio C )SetCheck D )SetText 9.希望菜单前出现一个“V”,应该用CCmdUI 类的(C )成员函数。
Windows程序设计模拟题
《Windows程序设计》模拟题(补)一.单项选择题1、项目文件的扩展名是【1】。
A)exe B)dspC)dsw D)cpp2、利用ClassWizard不能【2】。
A)建立新类B)进行消息映射C)增加类的成员变量D)插入资源3、下列【3】不是MFC消息映射机制有关的宏。
A)DECLARE_MESSAGE_MAPB)BEGIN_MESSAGE_MAPC)DECLARE_SERIALD)END_MESSAGE_MAP4、要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必须设置工具栏的风格为【4】。
A)CBRS_TOOLTIPS B)CBRS_FLYBYC)CBRS_NOALIGN D)WS_VISIBLE5、下面【5】不是GDI对象。
A)CFont B)CPaletteC)CClientDC D)CBitmap6、要将模式对话框在屏幕上显示需要用到【6】。
A)Create B)DoModalC)OnOK D)构造函数7、类CButton不是下列【7】控件对应的类。
A)命令按钮B)单选按钮C)复选框D)静态文本框8、根据对话框的行为性质,对话框可以分为两类【8】A)对话框资源和对话框类B)模式对话框和非模式对话框C)对话框资源和对话框模板D)消息对话框和模式对话框9、所有的控件都是【9】类的派生类,都可以作为一个特殊的窗口来处理。
A)CView B)CWndC)CWindow D)CDialog10、使用GetDC()获取的设备上下文在退出时,必须调用【10】释放设备上下文。
A)ReleaseDC() B)deleteC)DeleteDC() D)Detach()11、希望菜单无效,应该用CCmdUI类的【11】成员函数。
A)Enable B)SetRadioC)SetCheck D)SetText12、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,水平滑动条发送【12】消息。
A)WM_CHAR B)WM_HSCROLLC)WM_VSCROLL D)WM_CHANGE13、列表框CListBox类的成员函数【13】用来向列表框增加列表项,成员函数【14】用来清除列表项所有项目,成员函数【15】用来返回列表框的列表项总数。
基于C#的Windows应用程序设计模拟题(一套)
基于C#的Windows 应用程序设计(MCP 70-316)考试模拟题1. 你使用Visual Studio .NET来创建名为Request的组件。
这个组件包括一个名为AcceptMyRequest的方法,用来处理新用户对服务的请求。
AcceptMyRequest调用一个名为Validate的私有函数。
你必须确保Validate遇到的任何异常传递到Request的父窗口,由父窗口来响应处理异常。
你想用最少的代码来完成这个目标,你该怎么做?A.在AcceptMyRequest中使用下列代码段:this.Validate();B.在AcceptMyRequest中使用下列代码段:try {this.Validate();}catch(Exception ex) {throw ex;}C.在AcceptMyRequest中使用下列代码段:try {this.Validate();}catch(Exception ex) {throw new Exception(“Exception in AcceptMyRequest”, ex);}D.使用下列代码段来创建一个名为RequestException的自定义异常类:public class RequestException:ApplicationException {public RequestException():base() {}public RequestException(string message):base(message) {}public RequestException(string message,Exception inner):base(message, inner) {}}另外,在AcceptMyRequest中使用下列代码段:try {this.Validate();}catch(Exception ex) {throw new RequestException(“Exception in AcceptMyRequest”, ex);}正确答案:A2. 你是一家公司的软件开发者,你要开发一个Windows窗口来为用户提供在线帮助。
计算机程序设计员实操考核模拟题
计算机程序设计员实操考核模拟题一、任务描述在这个实操考核模拟题中,我们将考察你在计算机程序设计方面的实操能力。
你将需要完成一系列的编程任务,包括问题分析、算法设计和代码实现。
请按照以下要求逐步完成每个任务。
二、任务一:问题分析1. 题目描述编写一个程序,用于统计一个文本文件中各个单词出现的次数。
2. 输入输入为一个文本文件,文件中包含若干个单词,单词之间以空格进行分隔。
3. 输出输出为每个单词及其出现的次数,按照字母表顺序输出。
4. 问题分析我们首先需要读取文本文件,并将文件内容转换为字符串。
然后,我们需要将字符串中的单词提取出来,并统计每个单词的出现次数。
最后,按照字母表顺序输出每个单词及其出现的次数。
三、任务二:算法设计1. 算法思路为了解决这个问题,我们可以使用哈希表来存储每个单词及其出现的次数。
我们首先将文本文件的内容读入一个字符串变量中。
然后,我们遍历字符串中的每个字符,判断是否为字母或空格。
如果是字母,则将其添加到当前单词中;如果是空格,则将当前单词添加到哈希表中,并将计数器加一。
最后,我们按照字母表顺序输出哈希表的内容。
2. 伪代码以下是该算法的伪代码:输入:文本文件的路径及文件名输出:每个单词及其出现的次数初始化一个哈希表 table初始化一个字符串变量 word,用于存储当前单词初始化一个计数器 count,用于统计单词出现的次数读取文本文件的内容到字符串变量 content遍历 content 中的每个字符 c:如果 c 是字母:将 c 添加到 word 的末尾否则,如果 c 是空格:如果 word 不为空:如果 table 中已经存在 word:将 table 中对应的计数器加一否则:将 word 添加到 table 中,并将对应的计数器初始化为 1将 word 清空否则,如果 c 是其他字符:继续下一个字符的遍历按照字母表顺序遍历 table 中的键,记为 word:输出 word 和对应的计数器值结束四、任务三:代码实现```python def count_words(file_path): table = {} word =。
Windows程序设计模拟题
《Windows 程序设计》模拟题(补).单项选择题exeB ) dsp【3】不是MFQ 肖息映射机制有关的宏。
要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必须设置工具栏的风格为【CBRS_TOOLTIPSB CBRS_FLYBY【5】不是GDI 对象。
要将模式对话框在屏幕上显示需要用到【6】。
A)CreateB ) DoModalC OnOKD 构造函数类CButton 不是下列【7】控件对应的类。
A )命令按钮B )单选按钮C )复选框D )静态文本框A )对话框资源和对话框类B )模式对话框和非模式对话框C 对话框资源和对话框模板D )消息对话框和模式对话框所有的控件都是【9】类的派生类,都可以作为一个特殊的窗口来处理。
A ) CViewB ) CWnd1、 项目文件的扩展名是【1】。
C )dswD ) cpp 利用 ClassWizard 不能【2】。
A ) 建立新类B )进行消息映射C )增加类的成员变量 D )插入资源 A ) DECLARE MESSAGE MAP B ) BEGIN MESSAGE MAP C ) DECLARE SERIAL D ) END MESSAGE MAPA ) 4】。
C ) CBRS_NOALIGNDWS_VISIBLEA ) CFontB ) CP aletteC ) CClientDCD ) CBitmap8、 根据对话框的行为性质,对话框可以分为两类【81C CWindowD)CDialog10、使用GetDC()获取的设备上下文在退出时,必须调用【10】释放设备上下文。
A) ReleaseDC()B ) deleteC DeleteDC()D ) Detach()11、希望菜单无效,应该用CCmdU类的【11】成员函数。
A) EnableB) SetRadioC SetCheckD) SetText12、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,水平滑动条发送【12】消息。
计算机程序设计例题
例题1:能在文本框输入多行文字,单击红蓝按钮可改变文本框字体颜色,窗体标题为设置文本颜色:第1步新建项目:新建名为ch2.2的Windows应用程序,并将代码文件名由默认的Forml.cs重命名为ch2_2.cs;第2步插入控件:打开“工具箱"一·公共控件”一按下“ALabel”按钮一在设计窗口中目标位置动鼠标.即将一个名为“label1”的标签插入到指定位置;打开“工具箱”一“公共控件”一按下“textbox”按钮·在目标位置拖动鼠标,将一个名为“textbox1”的文本框插入到指定位置。
打开“工具箱”一“公共控件”一按下“button”按钮·在目标位置拖动鼠标,将一个名为“buttonl"的命令按钮插入到指定位置。
然后使用同样的方法插入一个名为“button2”的命令按钮;第3步设置控件属性设置文本框属性在“属性"窗口的下拉列表框中选中“teMBOXI":属性"窗口|中即出现该控件的属性,在本例中需改变textbox的Multiline属性.将其由默认值“False"改为“True”;在“属性”窗口的下拉列表框中,选中button1”,“属性”窗口‘中即出现该控件的属性,将其text属性改为“红色”;同样的方法将button2的text属性改为“蓝色”;将标签控件label1的text属性设置为“请输入文本”;设置窗体属性:在窗体上单击,“属性”窗口中将text属性改为“设置文本颜色”;编写事件处理代码:textbox1.ForeColor=Color.Red;private void button2_Click(object sender,EventArgs e){textbox1.ForeColor=Color.Blue;}例题2 :计算a的n次方的值using System; namespace ch2_3{classCalculate {publice static void Main() {double a,p;int n;Console.WriteLine(“计算a的n次方”);Console.WriteLine(“输入a的值”);a=Convert.ToDouble(Console.ReadLine());Console.WriteLine(“输入n的值”);n=Convert.ToInt32(Console.ReadLine());p=Math.Pow (a,n);Console.WriteLine(“计算结果为:”);Console.WriteLine(p);Console.ReadLine();}}}例题3:输入半径值,单击“计算”按钮,文本框显示周长和面积结果;第一步:添加控件:新建一个名为ch2_4的windows窗体应用程序,从工具箱中将三个label标签控件拖入设计窗体中,控件名称分别为label1、label2、label3,再拖入三个文本框控件,textbox1、textbox2、textbox3,最后添加一个命令按钮控件button1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络工程专业, windows程序设计
说明:1.考试时间:待定(大家都到齐后请联系老师确定)。
2. 请携带身份证,学生证。
一、判断
1、通过应用程序向导AppWizard建立的程序不能被立即执行。
( F)
2、MFC是微软公司编写的专门用于Windows编程的基础类库,它可以提高程序员的编程效率。
( T)
3、CClientDC代表整个窗口的设备环境。
( F )
4、红色的RGB值是(255,0,0)。
( T )
5、在MFC程序设计中,为了获取进度条控件中的内容必须给此控件对象映射相应的变量。
( T)
6、在同一个项目中,VC在内部用来标识资源的资源符号不能重复。
( T)
7、对于Win32应用程序,WinMain函数中的消息循环。
( F)
8、使用第三方控件时,要对控件进行注册后才能使用。
( T)
二、选择
1、工程文件的扩展名是(B )。
A.exe B. dsp C. dsw D. CPP
2、设置断点的默认方式是(A )。
A.Location B. Data C. Message D. Breakpoints
3、用应用程序向导AppWizard创建的C++源文件,应选择(A )选项卡。
A.Files B. Projects C. Workspaces D. Other Documents
4、在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属性对话框中的( B )。
A.Separator B. Pop-up C. Inactive D. Grayed
5、下列(D )不是MFC CDC类中常用的文本输出函数。
A.TextOut B. DrawText C. ExtTextOut D. ExtDrawText
6、要将模式对话框在屏幕上显示需要用的函数(C )。
A.Create B.DoModal C.OnOk D.构造函数
7、通常将对话框的初始化工作放在( C )函数中进行。
A.OnOK B. OnCancel C.OnInitDialog D.DoModal
8、如果在输入时采用选择的方法进行,( D )控件不能采用。
A.列表框控件 B. 单选控件 C.复选框架 D.编辑框
三、填空
1、MFC AppWizard创建的应用程序框架,有__单文档界面程序__、多文档界面程序和基于对话框的应用程序。
2、Windows应用程序在收到__ WM_DESTROY __消息时,将结束消息循环过程,并终止程序运行。
3、在MFC程序中当显示文本和图形时,需要利用的函数是OnDraw。
4、对话框主要分成模式对话框和无模式对话框。
5、当单击菜单项、工具栏按钮、快捷键时用户界面发出____WM_COMMAND______消息。
6、为了体现Windows的设备无关性,应用程序的输出面向一个被称为___设备环境___的虚拟逻辑设备。
7、Windows用___ COLORREF ___类型的数据存放颜色,它实现上是一个32位整数,表示红、绿、蓝分量值。
8、获取窗口的大小,需要使用___ WM_SIZE ____消息。
四、简答
1、请说明MFC AppWizard[exe]向导的作用。
参考答案:AppWizard(应用程序向导)的作用是帮助用户一步步生成一个新的应用程序,并且自动生成应用程序所需的基本代码。
它是Visual C++提供的一个实用编程工具,用它产生C++源代码框架。
利用应用程序向导可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码,这样大大减少了手工编写代码的工作量,使程序员能把精力放在具体应用代码的编写上。
2、请说明文档/视图结构的含义。
参考答案:文档/视图结构是MFC应用程序的基石,这种结构利用文档保存应用程序的数据,依靠视图对象控制视图显示数据,文档与视图的关系是一对多的关系。
CWinApp、CFrameWnd和CDocument、CView类共同把所有的程序段连接在一起。
3、请叙述设备无关性的含义,实现设备无关性需要哪几个环节?
参考答案:设备无关性指操作系统屏蔽了硬件的差异,使用户编程时无需考虑设备的类型,如不同种类的显示器和打印机。
实现设备无关性依次需要如下几个环节:应用程序,设备环境,图像设备接口(GDI),设备驱动程序,物理设备
4、请叙述菜单设计一般需要经过的步骤。
参考答案:菜单设计一般需要经过如下步骤:添加菜单或菜单项,映射菜单项消息,添加菜单项的快捷键,对菜单项进行各种有效性控制。
五、编程题 50%
1、编写一个SDI单文档应用程序test1,求1-100之间的奇数和,在视图中输出计算结果,并请简要描述编写程序的过程。
1、参考答案(1)利用MFC的AppWizard创建一个SDI单文档应用程序。
(2)在ClassView中找到以view结尾的类,找到其中的OnDraw函数,双击它在此函数中添加如下代码:
Int I,sum = 0;CString str;
For (i=1;i<=100; i=i+2)
Sum = sum+I;
Str.Format(“%d”,sum);
Pdc->TextOut(10,10,str);
2、编写一个单文档程序,在视图窗口中在你指定的某一列垂直显示不同填充色的三个圆来模拟交通红绿灯。
参考答案(1)利用MFC的AppWizard创建一个SDI单文档应用程序。
(2)在ClassView中找到以view结尾的类,找到其中的OnDraw函数,双击它在此函数中添加如下代码:
RECT t;
t.left = 100;
t.top = 100;
t.right = 150;
t.bottom = 150;
CBrush newBrush;
newBrush.CreateSolidBrush(RGB(255,0,0)); //画红灯
pDC->SelectObject(&newBrush);
pDC->Ellipse(&t);
newBrush.DeleteObject();
t.left = 100;
t.top = 150;
t.right = 150;
t.bottom =200;
newBrush.CreateSolidBrush(RGB(0,255,0)); //画绿灯
pDC->SelectObject(&newBrush);
pDC->Ellipse(&t);
newBrush.DeleteObject();
t.left = 100;
t.top = 200;
t.right = 150;
t.bottom =250;
newBrush.CreateSolidBrush(RGB(0,0,255)); //画蓝灯
pDC->SelectObject(&newBrush);
pDC->Ellipse(&t);
newBrush.DeleteObject();
3、编写一个单文档MFC应用程序,当单击菜单项“颜色设置”后弹出对话框,用户输入相应的颜色值,然后单击确定后,在客户区显示
对应颜色的一个矩形。
请描述主要步骤和主要代码。
程序的步骤如下:
(1) 创建一个MFC单文档应用程序(2分)
(2) 选择菜单项 Insert\Resource,插入一个对话框(2分)
(3) 对话框模块设计:在对话框上布局控件(2分)
(4)生成对话框类,并编辑框控件分别映射变量,如分别映射int类型成员变量m_nR、m_nG和m_nB (2分)(5)对控件变量进行初始化(2分)
(6)添加一个菜单项,并在视图类中映射此菜单项的单击事件处理函数用户激活窗口,主要代码如下:(2分) dlg.DoModal();
this->Invalidate();
(7)View类中的OnDraw函数中使用对话框中的值进行绘图,主要代码如下:(2分)
CBrush brush;
brush.CreateSolidBrush(RGB(dlg.m_nR,dlg.m_nG,dlg.m_nB)); //根据对话框设定的颜色值设定brush的颜色
pDC->SelectObject(&brush); //将brush选入GDI环境
pDC->Rectangle(100,100,200,300); //在客户区中画矩形。