visual_c++课程设计-期末试题及答案

上传人:第*** 文档编号:30556741 上传时间:2018-01-30 格式:DOC 页数:5 大小:53.50KB
返回 下载 相关 举报
visual_c++课程设计-期末试题及答案_第1页
第1页 / 共5页
visual_c++课程设计-期末试题及答案_第2页
第2页 / 共5页
visual_c++课程设计-期末试题及答案_第3页
第3页 / 共5页
visual_c++课程设计-期末试题及答案_第4页
第4页 / 共5页
visual_c++课程设计-期末试题及答案_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《visual_c++课程设计-期末试题及答案》由会员分享,可在线阅读,更多相关《visual_c++课程设计-期末试题及答案(5页珍藏版)》请在金锄头文库上搜索。

1、Visual C+程序设计-期末试题及答案一、选择题(每题 1 分,共 5 分)1 MFC 主要由( )组成。A 基础类库、全局函数 B. 基础类库、全局变量、宏C.基础类库、全局函数、宏 D.基础类库全局函数全局变量和宏2 应用程序对象 CProgramApp 是程序执行的最重要部分,( )均由其完成。A程序的初始化、运行和结束工作 B。消息的发送和执行C程序的框架、窗口 D。事件的发生与处理3 当消息产生时,系统调用 CWinApp 的( )函数对消息进行解析,并发送到相应的窗口进行处理。ARun B Create C TranslateMessage D DispatchMessage4

2、 对于在屏幕上的绘制,通常使用( )对象,而对于打印机设备上下文,则使用( )对象来完成。ACDC,CWindowsDC B。CWindowsDC, CDCCCWindowsDC,CPaintDC D。CDC,CPaintDC5 ( )对象表示一个点的位置, ( )对象表示相对的距离的尺寸, ()对象表示一个矩形区域。ACPoint 类,CRect 类,CSize 类 B。CSize 类 ,CPoint 类,CRect 类CCRect 类,CSize 类,CPoint 类 D。CPoint 类,CSize 类,CRect 类二、填空题(每空 1 分,共 20 分)1 消息是应用程序初始化时,W

3、indows 发送给视图的第一条消息。2 用于定时向应用程序发送消息,使程序动作在指定的时间间隔周期性执行。3 对话框是由一个特殊的、可以接收消息的 ,它具有 的基本特性。4 对话框主要由两部分组成: 和 。5 Visual C+ 6.0 集成开发环境中提供的资源有 、 、 、 、 和 等。6 CGdiObject 及其派生类封装了 Windows 提供的绘图工具有 , , 和 等。7 文档是数据的载体,管理及维护数据,支持并实现数据的 操作。视图是数据的表现,视图实现了数据的 ,并对数据的 提供了支持。三、简答题(30 分)1 Microsoft Windows MFC 库应用程序的具体启动

4、步骤?(10 分)2 什么是序列化?(5 分)3 CRect,CPoint 和 CSize 类的数据成员分别是什么?(5 分)4 当在 CEx06aDialog 调用 DoModal 函数时,请写出”幕后”引起的一系列动作? (10 分)四、编程题(共 45 分)如何判断一个点(CPoint point)是否在椭圆内,椭圆的外接矩形为 CRect m_rectEllipse,请写出相应的代码?(10 分)如果 Cat 类中包含三个数据成员,如下所示: (10 分)public:CString m_strName;int m_nHeight;int m_nWeight如何编写 Cat 类的 Se

5、rialize 函数?void Cat:Serialize(CArchive& ar)3 编程实现在对话框的静态控件(其 ID 为 IDC_STATIC1)中画一个灰色的圆?(10 分) void CMyDialog:OnPaint() 如何在视图类的成员函数中对状态栏的第一个窗格里面写入:”I love VC+!”?(5 分)编程实现在视图(CMyView)中点击鼠标左键弹出一个无模式对话框(CMyDialog) ,点击无模式对话框中的 OK 按钮,希望通过对话框向视图发送一个用户自定义消息 WM_GOODBYE, 然后视图响应这一个消息,关闭无模式对话框并在视图窗口中画出一个矩形。分别在对

6、话框和视图的文件中写相应的代码。 (10 分)答案一、选择题(每题 1 分,共 5 分)1D 2A 3A 4B 5D 二、填空题(每空 1 分,共 20 分)1. WM_CREATE 2. 定时器消息 WM_TIMER3. 窗口,窗口 4。 对话框资源,对话框类5 对话框,菜单,加速键,字符串表,位图,图标,光标6 位图,笔,画刷,字体7 序列化,显示,编辑三、简答题(30 分)1 (10 分) 1) Windows 将程序装入内存. 2) 构造全局对象 theApp. (当程序被载入时,所有全局对象都会立刻被创建.) 3) Windows 调用全局函数 WinMain, 它是类库的一部分.

7、(WinMain 相当于非 Windows 应用程序的 main 函数,二者都是主程序的入口点.) 4) WinMain 自动搜索 CWinApp 派生类的唯一实例. 5) WinMain 调用 theApp 的 InitInstance 函数,该函数在应用程序派生类中被重载. 6) 被重载的 InitInstance 函数启动文档的载入以及主框架和视图窗口的显示处理过程. 7) WinMain 调用 theApp 的 Run 成员函数,启动窗口消息和命令消息的分发处理过程. 2 (5 分)序列化是指对象可以被持续,即当程序退出时它们可被存盘,而当程序重启时它们又可恢复.对象的这种存盘和恢复过

8、程就称为”序列化”.3 (5 分)CRect left, top, right, bottomCPoint x, yCSize cx, cy4 (10 分)CDialog:DoModal CEx06aDialog:OnInitDialog其他的初始化CDialog:OnInitDialogCWnd:UpdateData(FALSE)CEx06aDialog:DoDataExchange用户输入数据用户单击 OK 按钮CEx06aDialog:OnOK其他的确认处理CDialog:OnOkCWnd:UpdateData(TRUE)CEx06aDialog:DoDataExchange CDial

9、og:EndDialog(IDOK)四、编程题(共 45 分)1(10 分)CRgn rgn;rgn.CreateEllipticRgnIndirect(m_rectEllipse);if(rgn.PtInRegion(point)2 (10 分)if (ar.IsStoring() ar m_strName m_nHeight m_nWeight3 (10 分)CWnd* pWnd=GetDlgItem(IDC_STATIC1);CDC* pControlDC=pWnd-GetDC();pWnd-Invalidate();pWnd-UpdateWindow();pControlDC-Sele

10、ctStockObject(GRAY_BRUSH);pControlDC-Ellipse(CRect(0,0,10,10);4 (5 分)CMainFrame* pFrame=(CMainFrame*)AfxGetApp()-m_pMainWnd;CStatusBar* pStatus=pStatus-SetPaneText(0,” I love VC+!”);5 (10 分)1)在 CMyDialog.h 中,加入用户自定义消息#define WM_GOODBYE WM_USER + 5和以下成员:private:CView* m_pView;public:CMyDialog (CView*

11、 pView);BOOL Create();2)在 CMyDialog.cpp 中,加入CMyDialog: CMyDialog (CView* pView) / modeless constructorm_pView = pView;BOOL CMyDialog:Create()return CDialog:Create(CMyDialog:IDD);void void CMyDialog:OnOK() / not really a message handlerif (m_pView != NULL) / modeless case - do not call base class OnO

12、KUpdateData(TRUE);m_pView-PostMessage(WM_GOODBYE, IDOK);else CDialog:OnOK(); / modal case3)在 CMyView.h 中,加入class CMyDialog;private:CMyDialog* m_pDlg;afx_msg LRESULT OnGoodbye(WPARAM wParam, LPARAM lParam);4)在 CMyView.cpp 中,加入CMyView: CMyView ()m_pDlg = new CMyDialog(this);CMyView: CMyView ()delete m

13、_pDlg; / destroys window if not already destroyedvoid CMyView:OnDraw(CDC* pDC)pDC-TextOut(0, 0, Press the left mouse button here.);void CMyView:OnLButtonDown(UINT nFlags, CPoint point) / creates the dialog if not created alreadyif (m_pDlg-GetSafeHwnd() = 0) m_pDlg-Create(); / displays the dialog window#include MyDialog.hON_MESSAGE(WM_GOODBYE, OnGoodbye)LRESULT CMyView:OnGoodbye(WPARAM wParam, LPARAM lParam)m_pDlg-DestroyWindow();CClientDC dc(this);dc.Rectangle(0,0,100,100);return 0L;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号