Visual_C++课程设计-期末试题及答案.doc_第1页
Visual_C++课程设计-期末试题及答案.doc_第2页
Visual_C++课程设计-期末试题及答案.doc_第3页
Visual_C++课程设计-期末试题及答案.doc_第4页
Visual_C++课程设计-期末试题及答案.doc_第5页
全文预览已结束

下载本文档

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

文档简介

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 对于在屏幕上的绘制,通常使用( )对象,而对于打印机设备上下文,则使用( )对象来完成。 ACDC,CWindowsDC B。CWindowsDC, CDC CCWindowsDC,CPaintDC D。CDC,CPaintDC5 ( )对象表示一个点的位置,( )对象表示相对的距离的尺寸,()对象表示一个矩形区域。 ACPoint类,CRect类,CSize类 B。CSize类 ,CPoint类,CRect类CCRect类,CSize类,CPoint类 D。CPoint类,CSize类,CRect类二、填空题(每空1分,共20分)1 消息是应用程序初始化时,Windows发送给视图的第一条消息。2 用于定时向应用程序发送消息,使程序动作在指定的时间间隔周期性执行。3 对话框是由一个特殊的、可以接收消息的 ,它具有 的基本特性。4 对话框主要由两部分组成: 和 。5 Visual C+ 6.0集成开发环境中提供的资源有 、 、 、 、 、 和 等。6 CGdiObject及其派生类封装了Windows提供的绘图工具有 , , 和 等。7 文档是数据的载体,管理及维护数据,支持并实现数据的 操作。视图是数据的表现,视图实现了数据的 ,并对数据的 提供了支持。三、简答题(30分)1 Microsoft Windows MFC库应用程序的具体启动步骤?(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类的Serialize函数?void Cat:Serialize(CArchive& ar) 3编程实现在对话框的静态控件(其ID为IDC_STATIC1)中画一个灰色的圆?(10分) void CMyDialog:OnPaint() 如何在视图类的成员函数中对状态栏的第一个窗格里面写入:”I love VC+!”?(5分)编程实现在视图(CMyView)中点击鼠标左键弹出一个无模式对话框(CMyDialog),点击无模式对话框中的OK按钮,希望通过对话框向视图发送一个用户自定义消息WM_GOODBYE, 然后视图响应这一个消息,关闭无模式对话框并在视图窗口中画出一个矩形。分别在对话框和视图的文件中写相应的代码。(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, 它是类库的一部分. (WinMain 相当于非Windows应用程序的main函数,二者都是主程序的入口点.) 4) WinMain 自动搜索CWinApp派生类的唯一实例. 5) WinMain 调用theApp 的InitInstance 函数,该函数在应用程序派生类中被重载. 6) 被重载的InitInstance 函数启动文档的载入以及主框架和视图窗口的显示处理过程. 7) WinMain 调用theApp 的Run 成员函数,启动窗口消息和命令消息的分发处理过程. 2 (5分)序列化是指对象可以被持续,即当程序退出时它们可被存盘,而当程序重启时它们又可恢复.对象的这种存盘和恢复过程就称为”序列化”.3 (5分)CRect left, top, right, bottomCPoint x, yCSize cx, cy4 (10分) CDialog:DoModal CEx06aDialog:OnInitDialog 其他的初始化 CDialog:OnInitDialog CWnd:UpdateData(FALSE) CEx06aDialog:DoDataExchange 用户输入数据 用户单击OK按钮 CEx06aDialog:OnOK 其他的确认处理 CDialog:OnOk CWnd:UpdateData(TRUE) CEx06aDialog:DoDataExchange CDialog: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_strName m_nHeight m_nWeight 3 (10分)CWnd* pWnd=GetDlgItem(IDC_STATIC1); CDC* pControlDC=pWnd-GetDC(); pWnd-Invalidate(); pWnd-UpdateWindow(); pControlDC-SelectStockObject(GRAY_BRUSH); pControlDC-Ellipse(CRect(0,0,10,10);4 (5分)CMainFrame* pFrame=(CMainFrame*)AfxGetApp()-m_pMainWnd;CStatusBar* pStatus=&pFrame-m_wndStatusBar;pStatus-SetPaneText(0,” I love VC+!”);5 (10分)1)在CMyDialog.h中,加入用户自定义消息#define WM_GOODBYE WM_USER + 5和以下成员: private: CView* m_pView;public: CMyDialog (CView* 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 OnOKUpdateData(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_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

温馨提示

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

评论

0/150

提交评论