




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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个参数中,表示消息
2、类型的参数是( )。A: HWND hwnd B: messageIDC: wParamD: lParam5下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是( )。A: WM_CHAR B: WM_COMMANDC: WM_CREATED: WM_PAINT6 MFC消息映射机制中,下列消息映射表BEGIN_MESSAGE_MAP(CGraphicsView, CScrollView) ON_WM_PAINT()END_MESSAGE_MAP()把WM_PAINT消息映射到()。A: CGraphicsView类OnPaint函数B: CGraphicsView类OnDra
3、w函数。C: CScrollView类的OnPaint函数D: CScrollView类的OnDraw成员函数。7 下列MFC类中,不直接支持消息映射的MFC基类是( ),A: CCmdTarget B: CWinAPPC: CWndD: CMap8 下列集合类中,其内部是使用散列表技术实现的MFC类的是( )。A: CArrayB: CList C: CMapD: CPtrList9 下列CWnd类成员函数中,用于任何消息的可覆盖函数是( )。A: OnCommandB: OnNotifyt C: OnUpdateD: WindowProc10 Windows程序中,用于表示通用字符的数据类
4、型是( )。A: charB: unsigned shortC: TCHARD: unsigned char11 下列数据类型中,表示设备上下文句柄的数据类型是( )。A: HWNDB: HDC C: HMENUD: HPEN12 下列各个窗口类中,表示各种视图类的基类的MFC类是( )。A: CScrollView B: CTextView C: CRichEditViewD: CView13 下列各种窗口对象中,对象最好在栈(Stack)中分配MFC窗口类是( )。A: CToolBarB: CView C: CWnd D: CFrameWnd14下列各宏命令中,应该放在类实现中以支持序列
5、化特性的宏命令是( )。A: IMPLEMENT_DYNAMIC(class_Name)B: IMPLEMENT_DYNCREATE(class_Name)C: IMPLEMENT_SERIAL(class_Name)D: IMPLEMENT_MESSAGE_MAP()15 CRuntimeClass类的操作中,用于从类名字符串获得该类CRunTimeClass对象指针的方法为( )。A: IsDerivedFromB: FromNameC: CreateObjectD: GetBaseClass16 各种设备描述表的中,可以使用CreateComPatibleDC函数创建获得的设备描述表类型
6、是( )。A: 显示设备描述表B: 打印设备描述表C: 内存设备描述表D: 信息设备描述表17 CDC类成员函数中,可用于绘制圆角矩形的成员函数是( )。A: LineTo(int x,int y)B: PolyBezierTo( const POINT* lpPoints, int nCount );C: BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );D: BOOL RoundRect( LPCRECT lpRect, POINT point );18
7、 下列映射模式中,以0.01mm为逻辑单位的映射模式为( )。A: MM_LOMETRICB: MM_HIMETRICC: MM_LOENGLISHD: MM_HIENGLISH19 下列GDI对象中,用于绘制图形内部区域的GDI对象为( )A: 画笔B: 画刷C: 字体D: 区域E: 位图F: 调色板20 MFC文档视图框架中,用于规范程序、文档与视图对象之间的对象类是( )类。A: CWinAppB: CDocumentC: CViewD: CDocTemplate二 简答题1 CObject类的三个特性运行时类信息:在运行时确定一个对象是否是一个类或其派生类的实例, CObject成员函
8、数IsKindOf实现这个功能。动态创建:CRuntimeClass类成员函数CreateObject实现这个功能。序列化:把对象存入文件或从文件中读取对象内容的过程。用户类通过覆盖Serialize()函数已实现这个功能。2 简述设计一个支持可序列化类的设计方法?序列化:把对象存入文件或从文件中读取对象内容的过程。设计可序列化的类的方法:1 定义该类时,使用CObject类或其派生类作为基类2 使用DECLARE_SERIAL(CLASSNMAE) 宏;3 定义默认构造函数;4 在类实现中使用IMPLEMENT_SERIAL(CLASSNAME,BASECLASS)宏;5 覆盖Seriali
9、ze成员函数3 简述程序设计中为一个窗口创建子窗口的一般步骤和方法。为一个窗口创建子窗口的一般步骤1 选择一个合适的窗口类作为基类(CWnd类或其派生类),定义一个窗口类2 以堆方式在窗口类中添加一个或若干个子窗口类型的成员变量。3 重载OnCreate成员函数,在成员函数中调用这些子窗口对象的Create方法,创建子窗口对象。4 建立子窗口与父窗口之间的消息映射。4 简述MFC中有哪些设备描述表类,它们各有哪些特点。MFC中定义了如下设备描述表类CDC:各种设备描述表类的基类,封装了设备描述表的属性和方法,提供了一个重要的访问图形设备的接口。CWindowsDC:窗口区域设备描述表类。CCl
10、ientDC:客户区设备描述表类。CPaintDC:重绘区域设备描述表类。CMetaFileDC:图元文件设备描述表类。5简述Windows消息的类型有哪些?各有何特点?窗口消息:窗口事件引发的消息。如WM_PAINT。控件通知消息:控件状态改变引发的消息。命令消息:与一个用户界面对象相联系的消息。菜单项、命令按钮和快捷键。自定义消息:用户自定义的消息。6简述序列化的概念和设计支持序列化类的方法。序列化:把对象存入文件或从文件中读取对象内容的过程。设计可序列化的类的方法:1 定义该类时,使用CObject类或其派生类作为基类2 使用DECLARE_SERIAL(CLASSNMAE) 宏;3 定
11、义默认构造函数;4 在类实现中使用IMPLEMENT_SERIAL(CLASSNAME,BASECLASS)宏;5 覆盖Serialize成员函数7 简述设备描述表的概念和主要类型。设备描述表(Device Context)是一种Windows数据结构,用来描述绘制窗口所需要的信息。设备描述表主要有如下类型Display显示设备描述表,提供对视频显示设备上的绘制操作的支持Printer打印设备描述表,提供对打印机、绘图仪设备上的绘制操作的支持Memory内存设备描述表,提供对位图操作的支持Information信息设备描述表,提供对操作设备信息获取的支持8 简述GDI的基本概念,简述设备描述表
12、中有哪些GDI对象,这些对象用哪些MFC类表示。图形设备接口(GDI:Graphics Device Interface):为程序员提供了一个设备无关的设备接口。 Gdi对象分类画笔:绘制线和图形的边框。画刷:绘制一个图形的内部区域。字体:定义字体区域:设备上的一个区域,可用于定义裁剪区域等操作位图:一个由颜色位组成的数组,用于表示一个图形调色板:一个颜色列表,用于建立逻辑颜色到设备颜色的映射。9 简述延迟再现技术的基本概念和与延迟再现技术相关的消息。延迟再现技术:当向剪贴板传送数据中,并不直接将数据的这份副本传给剪贴板,而是直到有另一个程序需要数据时,程序才提供这份数据。延迟提出技术的三个消
13、息WM_RENDERFORMAT:当有程序调用GetClipboardData要从剪贴板取数据时,发送的消息,wParam是所要求的数据格式。WM_DESTROYCLIPBOARD:当有程序调用EmptyClipboard时发送的消息,通知不再需要构造剪贴板数据信息。WM_RENDERALLFORMATS :剪贴板拥有者程序要终止执行时将收到的消息。三 程序设计已知:一个用于表示多边形的C+类CPolygon定义如下:class CPolygonprivate: CPoint *pPoint;int nCount;int nLineStyle, nWidth;COLOREF crLineCol
14、or, crFaceColor;public:CPolygon (CPoint *point,int nCount,int LineStyle, int Width,COLOREF LineColor, COLOREF FaceColor); CPolygon (void);类实现部分CPolygon:CPolygon(CPoint *point,int nCount,int LineStyle, int Width,COLOREF linecolor, COLOREF facecolor)nCount=count;if(nCount0)pPoint=new CPointnCount;for(
15、int i=0;inCount;i+)pPointi=pointi;nLineStyle=LineStyle,nWidth=Width,crLineColor=linecolor,crFaceColor=facecolor;CPolygon: CPolygon (void)if(pPoint) delete pPoint;1请为其添加必要的成分,使其支持序列化。已知:一个用于表示多边形的C+类CPolygon定义如下:class CPolygon:CObjectDECLARE_SERIAL(CPolygon)private: CPoint *pPoint;int nCount;int nLin
16、eStyle, nWidth;COLOREF crLineColor, crFaceColor;public:CPolygon(void) CPolygon (CPoint *point,int nCount,int LineStyle, int Width,COLOREF LineColor, COLOREF FaceColor); CPolygon (void);void Serialize(CArchive ar); ;类实现部分void CPolygon:Serialize(CArchive ar) if(ar.IsStoring()arnCount;for(int i=0;inCou
17、nt;i+)arpPointi;arnLineStylenWidthcrLineColornCount;pPoint=new CPointnCount;for(int i=0;ipPointi;arnLineStylenWidthcrLineColorcrFaceColor; 2为CPolygon类添加的绘制方法void CPolygon:Draw(CDC *pDC)CPen mPen;CBrush mBrush;mPen.CreatePen(nLineStyle, nWidth, crLineColor);CPen *pOldPen=pDC-SelectObject(&mPen);CBrus
18、h *pOldBrush= pDC-SelectObject(&mBrush);pDC-PolyGon(pPoint, nCount);pDC-SelectObject(&pOldPen); pDC-SelectObject(&pOldBrush);3为CPolygon类添加克隆方法CPolygon* Clone()如下CPolygon * CPolygon:Clone()return new CPolygon(p, nCount, nLineStyle , nWidth, crLineColor, crFaceColor);四 论述题1 简述全局内存块的概念,全局内存块有那些使用规则。全局内
19、存块:是一个操作系统意义上的全局内存区域,其特征是可以跨进程使用。主要用于Windows剪贴板操作。其使用规则如下:1 定义一个全局内存句柄:GLOBALHANDLE hGlobal ;2 配置全局内存:hGlobal = GlobalAlloc (GHND, 1024) ;3 锁定全局内存:p = (int *) GlobalLock (hGlobal) ;4 解锁全局内存:GlobalUnlock (hGlobal) ;5 释放全局内存:GlobalFree (hGlobal) 2 论述映射模式的概念,MFC定义了哪几种映射方式,它们的特点是什么?关于映射模式的操作有哪些?映射模式:逻辑坐
20、标和设备坐标的映射方式。MFC定义了8种映射方式,其定义如下映像方式 逻辑单位 x值y值 MM_TEXT 图素 右 下 MM_LOMETRIC 0.1 mm 右 上 MM_HIMETRIC 0.01 mm 右 上 MM_LOENGLISH 0.01 in. 右 上 MM_HIENGLISH 0.001 in. 右 上 MM_TWIPS 1/1440 in. 右 上 MM_ISOTROPIC 任意(x = y) 可选可选 MM_ANISOTROPIC任意(x != y) 可选可选 关于映射模式的主要操作包括:(4分)设置映射模式窗口操作:设置窗口原点、窗口范围。视口操作:设置视口原点、视口范围。
21、3 简述Windows剪贴板的基本概念,列举出主要的Windows剪贴板函数。Windows剪贴板:是一个Windows内存区域,用于把数据从一个程序传送到另一个程序。剪贴板的主要操作有:剪切Cut、复制Copy和粘贴Paste。剪贴板函数有:打开剪贴板:OpenClipboard (hwnd) ;清空剪贴板:EmptyClipboard () ;向剪贴板传数据:SetClipboardData (CF_TEXT, hGlobal) ;从剪贴板取数据:GetClipboardData 关闭剪贴板CloseClipboard () ;4 论述MFC动态类信息的表示方法,它们有哪些应用。答:MFC使用CRunTimeClass类对象表示动态类信息。Struct CRuntimeClass(5分)LPCSTR m_lpszCla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小区域大学问试题及答案
- 2025年高级按摩师考试题及答案
- 2025年机械专业笔试题目及答案
- 2025年硬件交互面试题及答案
- 2025年钼选厂浮选工试题及答案
- 2025年铁路职业技能鉴定(值班员)考试题库附答案
- 2025年第九届安全知识竞赛题库
- 2025年瑜伽试题题库及答案
- 2025年痰培养试题及答案
- 2025年中国税制网课试题及答案
- 2025年水运工程试验检测师水运材料真题卷(附答案)
- 疼痛质控原因分析及整改措施
- 各类档案管理员考试试题及答案汇编
- 2024年记者证考试往年真题试题及答案
- 美国教育体系探秘:理念与实践
- 2025年《新课程标准解读》标准课件
- 潜水事故与现场急救措施课件
- 商品陈列员工培训
- 塑料再生料质量控制-洞察分析
- 旅行社安全培训课件
- 住房和城乡建设领域施工现场专业人员职业培训机构申报表
评论
0/150
提交评论