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 )。
Windows程序设计复习文档
Windows程序设计一、单项选择10*2或20*1=20分二、填空(程序代码)10*1=10分三、程序设计代码填空8*2.5=20分四、基础应用程序设计题(共三小题,5+5+10=20分)五、今日上机内容:步骤,关键代码(记录、显示、查询、编辑、删除等)一、1、消息:mouse消息,键盘消息,按键消息VK_2、客户区/非客户区消息3、CDC、CPointDC、ClientDC4、Cwnd是诸空间关系5、区分SDI、MDI6、资源ID、资源文件*.rc,*.rc27、CPen、CBrush用法,画矩形,椭圆等8、对话框资源,字符串,快捷键,工具图标用法,菜单用法与编程(WM_COMMAND_?)9、一个工程中*.h,*.cpp,*.pc,*.dsp等格式含义10、一个工程中所有C....DC,C....View,C....APP,C....Frame的详细含义11、控件编程DDX_... AFX_... DFX_.... 函数的含义12、BitBlt与StretchBil区分13、CPropertrsheet与CPropertypage区分14、所有与数据库有关的类二,填空知识。
1.mouse 左右中,down,up,单击,双击等消息2.按字母键,vk_及其消息函数是什么?(大小写要区分)3.一个MFC APPWizard程序中几个基本类C....APP, C.....DOC, 等的含义。
4.建笔,建画刷,绘矩形,绘椭圆,建按钮控件的函数及其参数的含义。
5.preCrenteWindow(),OnCreate(),onDrawn()函数的比较。
三、程序设计代码填空1、按mouse左、中、右键弹出对话框或消息框(注:二者不同,的几行关系代码)2、按mouse或字母绘制矩形或椭圆(有可能用到CPen、CBrush)3、Invalidate()会……会调用哪个函数重绘窗口?4、把矩形、圆、椭圆数据没放在文档内的变量或数组中,在C....View中OnDraw(0中绘制图形(熟练!!!!)四,基础编程。
18级Windows程序设计复习题 AA
18级Windows程序设计复习题第3章习题一、填空题1、MFCAppWizard(exe)可以创建三种类型的应用程序,分别是:单文档、多文档、应用程序。
2、项目名为HELLO的单文档程序,MFC为用户创建了4个主要的类,分别是:CHELLOAPP、CHELLODOC、CHELLOview、CMainFrame。
二、选择题1、下面哪一项不是Windows应用程序的消息(D)A)窗口消息B)控件的通知消息C)命令消息D)状态栏消息2、MFC AppWizard创建的单文档程序,创建了4个主要的类,其中基类可以选择的类是(A )A)视类B)应用类C)主框架类D)文档类三、程序创建单文档,显示结果如下:········Void CMyView::OnDraw(CDC* pDC){CMyDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);pDC->SetTextColor ( );pDC->SetBkColor (RGB (0,0,255) );pDC->TextOut (100,100,”好好学习”);pDC->TextOut (150,120,”天天向上”);}第四章习题:一、填空1、类向导的 Message标签用于添加消息响应函数,MemberVariables 标签用于添加控件关联变量。
2、要显示一个模态对话框,应使用的函数是 DoModal() 。
3、要显示窗口,函数ShowWindow( SW_SHOW )中用什么参数值。
4、已知对话框类:ConeDlg, 要求打开对话框,语句序列是:dlg.DoModal() ; 。
二、选择题1、要将控件显示的值保存到关联变量中,应该执行(B)A)Invalidate(false) B) UpdateData(false)C) UpdateData( true) D) Invalidate(true)2、用户定义的对话框分为(B)两类。
windows编程复习题
一 、简答题: 1. Winsows 编程中窗口的含义是什么?(5 分) 答:在 Windows 中,一个窗口就是屏幕上的一个矩形区域,它接收用户的输入并以文字或图形的格式显示输出内 容。窗口是 Windows 应用程序基本的操作单元,是应用程序与用户之间交互的接口,也是系统管理应用程序的基 本单位。 2. Windows API 是什么?请你写出它的英文全称。 分) (5 答:Windows 的 API 是 Windows 操作系统的应用程序接口。 分) (3 Windows 的 API 的英文全称是 Windows Application Programming Interface.(2 分) 3. Windows 应用程序可以使用哪些资源?资源的主要作用有哪些?(5 分) 答:Windowss 应用程序可以使用:加速键,位图,光标,对话框,菜单,工具条,字符串等。在 Windows 的可 执行文件中,资源是独立于代码的,使用单独的 Resource Compiler 来进行编译,并嵌入到可执行文件中,在编 程过程中,代码是可复用的,通过资源的导入导出功能来实现资源的可复用。另外,程序的国际化,也是通过资源 来实现的。 4. 什么是句柄?句柄有哪些作用?(5 分) 答:句柄是一个 32 位无符号整数。它是 WINDOWS 用来标识被应用程序所建立或使用的对象的唯一整数, WINDOWS 使用各种各样的句柄标识诸如应用程序实例,窗口,菜单,位图,GDI 对象等。常用的句柄类型有: HINSTANCE (运行实例句柄)、 HWND (窗口句柄) HMENU(菜单句柄) 、 、HBITMAP(位图句柄) 、HPEN (画笔句柄) 、HBRUSH(画刷句柄)等。 通过句柄可以获得相应的对象信息。在 Windows 中,句柄(Handle)并非对象的指针,它是系统内部表的 索引值。这样能避免应用程序直接与对象的内存地址打交道。 5. 什么是图形设备接口 GDI?(5 分) 答:Windows 图形设备接口(GDI)的英文全称是 Graphics Device Interface,是为与设备无关的图形设计的, GDI 处于设备驱动程序的上一层, Windows 的重要组成部分。 是 它负责管理用户绘图操作时功能的转换。 Windows 通过 GDI 函数为应用程序提供服务。用户通过调用 GDI 函数绘制不同尺寸、颜色、风格的几何图形、文本和位图。 GDI 通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令, 避免了应用程序直接对硬件进行操作, 从而 实现所谓的设备无关性。 6. Winsows 编程中 MFC 表示什么?请你写出它的英文全称。 分) (5 答:Winsows 编程中 MFC 表示微软基础类库,它的英文全称是 Microsoft Foundation Class. 7. 什么是一个 Visual C++ Project(项目或者译为工程)?(5 分) 答:在 Visual C++ IDE 中,把实现程序设计功能的一组相互关联的 C++源文件、资源文件以及支撑这些文件的 类的集合称为一个项目。Visual C++ IDE 以项目作为程序开发的基本单位,项目用于管理组成应用程序的所有元 素,并由它生成应用程序。 项目用项目文件 DSP(Developer Studio Project)来描述,文件名后缀为.dsp。项目文件保存了项目中所用到的 源代码文件和资源文件的信息,如文件名和路径。同时,项目文件还保存了项目的编译设置等信息,如调试版 (Debug)或发布版(Release) 。 8. 何谓应用程序框架?(5 分) 答: 同一类型应用程序的结构大致相同, 并有很多相同的源代码, 因此可以通过一个应用程序框架 AFX (Application FrameWorks)编写同一类型应用程序的通用源代码。 MFC 应用程序框架将那些每个应用程序都共同需要使用的代码封装起来,如完成默认的程序初始化功能、建立应 用程序界面和处理基本的 Windows 消息,使程序员不必做这些重复的工作,把精力放在实质性代码的编写上。 9. 在开发 Windows 应用程序时使用 Device Context(设备环境或者译为设备上下文)有什么好处?(5 分) 答:设备环境(Device Context 设备上下文)是设备无关的,是设备的抽象。通过使用设备环境(Device Context 设备上下文) ,程序员在编程时不用关心设备的类型。 分) (2 图形在不同的设备上输出都需要经过转换,由于有了设备环境(Device Context 设备上下文) ,这个具体转换过 程由操作系统去实现, 这样就大大地降低了应用程序设计的复杂性,提高了应用程序的通用性和应用程序开发的 效率。 分) (3 10. Windows 系统提供的标准控件有哪些?(5 分) 答:静态控件,按钮控件,编辑框控件,列表框控件,组合框控件,滚动条控件。 二、简要回答下列问题: 1. 请你简要描述 Windows 程序的事件驱动程序模型。 (10 分)
Windows程序设计考试复习
Windows程序设计考试复习第一章基础知识 ;第二章 C++基础知识UINT unsigned int;如果一个类中含有纯虚函数,则该类称为[抽象类];静态成员运行时多态,通过虚函数;编译时多态:?运算符重载和函数重载第二章Windows应用程序句柄:HWND 窗口句柄HINSTANCE 当前实例句柄HDC设备环境句柄HFONT 标示字体句柄HPEN HBRUSH HBITMAP HICON HMENU HFILE HCURSORWindows应用程序利用Message和其他的应用程序及系统进行信息交换;Windows应用程序是消息或者事件驱动的消息由三部分组成:消息号(UINT),字参数(wParam),长字参数(lParam);消息结构体 MSG消息宏前缀 BM按钮控件消息 WWM窗口消息WM_LBUTTONDOWN 单击鼠标左键时产生该消息wParam标识鼠标键的单击状态 MK_L/M/RBUTTONlParam包含当前光标的y,x坐标(高字,低字)WM_KEYDOWN 按下一个非系统键时产生的消息WM_KEYUP…WM_CHAR 也是按下非系统键时产生的消息wParam为按键的ASCII码WM_CREATE此消息由CreateWindow函数发出WM_CLOSEWM_DESTROY由DestroyWindow函数发出WM_QUIT由PostQuitMessage函数发出,wParam含有退出代码WinMain函数,所以Window应用程序的入口点LoadIcon()LoadCursor()注册窗口类BoolRegisterClassEx(&wndclassex) //wndclassex为窗口类结构创建窗口CreateWindow()窗口样式WS_OVERLAPPEDWINDOW 创建一带边框,标题栏,系统菜单,最大,最小化按钮的窗口显示窗口ShowWindow(HWND hwnd,intncmdShow)SW_SHOW…UpdateWindow(HWND hwnd) //更新并绘制用户区,并发出WM_PAINT消息消息循环GetMessage(lpMSG.hwnd,0,0) //从消息队列中获取一条消息,并将消息放到一个MSG结构体中//指向MSG结构体的指针 //0,0 不过滤消息TranslateMessage(lpMSG) //将消息的虚拟键转换为字符信息;DispatchMessage(lpMSG) //将lpMSG指向的消息传送到指定的窗口函数While(GetMessage(&MSG,NULL,0,0)) //当GetMessage返回值为 0,即检索到WM_QUIT消息,结束循环并退出{TranslateMessage(&MSG);DispatchMessage(&MSG);}窗口函数处理接收到的消息的函数LRESULT CALLBACK WndProc(HWND hwnd,UINTmessage,WPARAMwParam,LPARAMlParam) {switch(message) //message标示消息的消息值{case…break;case WM_DESTROY: //关闭窗口PostQuitMessage(0); //intnExitCode,应用程序退出代码 //向应用程序发出WM_QUIT消息default://系统默认处理过程return DefWindowProc(hwnd,message,wParam,lParam);//为未定义处理过程的消息提供默认处理}return 0;}数据类型UINT,DWORD(32位无符号整数)LONG 32位有符号整数LPTSTR,LPCTSTR指向32位字符串,字符串常量的32位指针(用于unicode)数据结构MSG 包含一个消息的全部信息WNDCLASSEX 包含一个窗口类的全部信息POINT 定义屏幕/窗口的一个点(x,y)RECT 定义一个矩形区域左上角坐标(x,y),右下角坐标(x,y)第三章Windows图形设备接口及Windows绘图Windows图形设备接口GDI 是为与设备无关的图形设计的设备描述表(DC) 4类:显示,打印,存储,消息获取设备环境的方法:响应WM_PAINT消息进行图形刷新:hdc=BeginPaint(hwnd,&ps) //ps为PAINTSTRUCT类型结构BOOL EndPaint(HWND hwnd,PAINTSTRUCT&ps); //释放设备环境非WM_PAINT消息驱动hdc=GetDC(hwnd);intReleaseDC(HWND hwnd,HDChdc)GetDCEX映射模式定义了逻辑单位转化为设备的度量单位及设备的x,y方向MM_ANISOTROPIC,MM_ISOTROPIC(x,y轴单位比例 1:1)一个逻辑单位的映射由SetWindowExtEx/SetViewportExtEx函数确定MM_TEXT 一个逻辑单位映射为一个像素坐标系设定:x向右,y向下 (默认映射模式)映射模式设定SetMapMode(hdc,nMapMode); //nMapMode为映射模式获取设备环境的映射模式nMapMode=GetMapMode(hdc)窗口区域的定义由SetWindowExtEx函数完成视口区域的定义由SetViewportExtEx函数完成视口,窗口的原点默认均为(0,0)可通过SetWindowOrgExSetViewportOrgEx设定(只在MM_ANISOTROPIC, MM_ISOTROPIC 映射模式下才有意义)获取用户区的尺寸GetWindowRectGetClientRect画笔画笔的操作1.创建画笔HPEN hp=(HPEN)GetStockObjec t(BLACK_PEN);//定义一个画笔句柄//直接调用GetStockObject获取Windows系统定义的4种画笔WHITE,BLACK,DC,NULL_PEN自定义画笔hp=CreatePen(intnPenStyle,//PS_DASH ,PS_SOLID,PS_DOT…intnWidth, //画笔宽度,取0标示一个像素宽COLORREF rgbColor);2.将画笔选入设备环境hPenOld=SelectObject(hdc,hp);3.删除画笔SelectObject(hdc,hPenOld); //恢复原来系统的画笔DeleteObject(h p)HBRUSH类似常用绘图函数:1设置画笔当前位置BOOL MoveToEx(HDC hdc,intx,int y, //新位置的逻辑坐标LPPOINT lpPoint//存放元画笔位置的POINT结构地址);2 从当前位置向指定坐标点画直线LineToBOOL LineTo(HDC hdc,intX,int Y) //x,y为线段的终点坐标3 从当前位置开始,依次用线段连接lpPoints中指定的各点的Polyline 如果绘制多边形,起点与终点的坐标应该相同BOOL Polyline(HDC hdc,LPPOINT lpPoints, //指向包含各点坐标的POINT结构数组的指针intnCount//POINT数组中点的个数)4 绘制椭圆的函数(曲线)BOOL Arc(HDC hdc,int x1,int y1, //边框矩形左上角逻辑坐标int x2,int y2, //边框矩形右下角逻辑坐标int x3,int y3,//椭圆弧起始径线的确定点坐标int x4,int y4//椭圆弧终止径线的确定点坐标);//弧由起点向终点逆时针方向画出(x3,y3)(x4,y4)不一定在椭圆上,只起到角度定位的作用5 绘制饼图(填充区域)BOOL Pie(HDC hdc,int x1,int y1, //边框矩形左上角逻辑坐标int x2,int y2, //边框矩形右下角逻辑坐标int x3,int y3, //椭圆弧起始径线的确定点坐标int x4,int y4 //椭圆弧终止径线的确定点坐标);6 使用当前画笔绘制一个矩形,并使用当前画刷进行填充Rectangle(HDC hdc,int x1,int y1, //左上角int x2,int y2 //右下角);7 圆角矩形BOOL RoundRect(HDC hdc,int x1,int y1, //左上角int x2,int y2 //右下角intnWidth, //圆角宽度intnHeight//圆角高度);8 椭圆BOOL Ellipse(HDC hdc,int x1,y1, //(x1,y1)边界左上角的逻辑坐标int x2,y2 //(x2,y2)边界右下角的逻辑坐标);9 绘制多边形BOOL Polygon(HDC hdc,LPPOINT lpPoints,intnCount//多边形点的个数)第四章文本的输出方法和字体的设置DEFAULT_GUI 当前GUI的默认字体SYSTEM //默认字体ANSI_FIXED //ANSI标准的固定宽度的字体1 定义字体句柄变量 HFONT hF;2 调用GetStockObject()获得系统字体句柄hF=GetStockObject();3 调用SelectObject()将字体选入设备环境SelectObject(hdc,hF);创建自定义字体CreateFont()设置字体颜色SetTextColor(hdc,crColor);设置背景颜色SetBKColor(hdc,crColor);文本的输出过程1 获取字体信息GetTextMetrics(hdc,&tm);//tm为TEXTMETRIC结构tmHeight; //字符高度tmExternalLeading; //行与行之间的间隔2 格式化文本2.1 确定后续文本的坐标获取当前字符串的宽度,GetTextExtentPoint32 2.2 换行时确定下一行文本的坐标。
第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程序设计复习题一选择题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程序设计复习资料(完整答案)
一、单项选择题: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程序设计”期末考试(2010-2011(2)
“VC程序设计”期末考试复习提纲说明:该复习提纲不是考试的内容,需要大家全面复习,理解概念,并能编写程序。
考试重点章节第3-7, 9章一、题型1,填空题:共 5个空,每空2分,共10分例如:若用户在应用程序的窗口按下鼠标左键(还未抬起),则消息处理过程被调用,第二个参数的内容_____________,第四个参数的内容是_______________。
2,选择题:20题,每小题2分,共40分1、MFC中的CButton类支持下属哪种方法。
()A、Create方法B、CopyString方法C、ReadString方法D、Set方法3,判断题:10题,每小题2分,共20分例如:CObject是MFC基础类库中所以类的根类()4,简答题:4题,每小题5分,共20分例如:简述菜单资源的主要包含的功能,以及基本的一个菜单是由哪几部分?组成。
(10分)5,程序题,1题共10分二、复习重点第三章复习重点(结合课后3-1至3-4习题复习):1)窗口,句柄, API,事件驱动,的概念;2)MSG消息结构体,常用消息的结构体中的附加参数(重点了解的消息如下在什么事件操作下产生这些消息WM_LBUTTONDOW, WM_RBUTTONDOWN,WM_SIZEWM_CREATE,WM_QUIT,WM_CHAR, WM_KETDOWN,WM_KEYUP,WM_COMMAND附加参数的wParam和lParam的含义)3)Windows消息传递的过程4)Windows程序的结构(WinMain函数和窗口过程函数,窗口整个的创建过程)4)3.1示例(整个程序)重点掌握程序中WNDCLASS,GetStockObject, RegisterClass,LoadIcon,LoadCursour, CreateWindow,ShowWindow,UpdateWindow,GetMessage,TranslateMessage,PostQuitMessage等相关函数的用法第四章复习重点(结合课后习题4-1至4-4复习):1) 设备描述表,图形设备接口(GDI),映射模式,图形对象的概念;2)图形刷新,重点掌握Windows系统对图形刷新响应的情况3)获取设备环境(HDC)的方法,重点掌握相关函数BeginPaint (),EndPaint(),GetDC(),ReleaseDC(),有何区别4)Windows应用程序坐标系统的分类,重点掌握设备坐标系统5)结合例题4-3,常用的绘制图形函数,绘图的编程a)重点掌握基本绘图函数Ellipse,Rectangle,LineTo,MoveToEx等;b)映射模式相关函数SetMapMode()(MM_ANISOTROPIC,MM_ISOTROPIC,MM_TEXT三种模式)c)画刷相关函数CreateSolidBrush(), CreateHatchBruash (),画笔相关函数CreatePen()第五章复习重点(结合课后习题5-1至5-3复习):1)字体分类:逻辑字体和物理字体2)与字体相关函数,如文本输出TextOut(),设置字体和背景颜色相关函数,SetTextColor(),SetBkColor(),GetTextMetrics(),GetTextExtentPoint32第六章复习重点:1)虚拟码,键盘消息的概念2)键盘和鼠标的相关消息,例如按键消息(非系统按键消息和系统按键消息),字符消息(系统字符消息和非系统字符消息),结构体中附加参数的含义3)鼠标消息的wParam参数和lParam参数,掌握响应鼠标键盘的编程 LOWORD和HIWORD函数第七章复习重点(结合课后习题7-2,7-4,7-5复习):1)掌握资源,对话框资源,模态对话框,非模态对话框资源的概念2)操作菜单项的相关函数EnableMenuItem,LoadMenu,CheckMenuItem等3)模态对话框的创建和非模态对话框的编程区别。
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应用程序设计复习资料
一、简答题1.利用Visual Studio 2005开发程序时,Windows应用程序与类库是不同的,请写出它们之间的相同点和不同点(至少写出一个相同点和两个不同点)相同点:都是面向对象的语言不同点:(1)Windows 应用程序有命名空间,类库没有(2)类库有头文件2.什么是类,什么是对象。
请列举出显示生活中的一些类和对象(至少一种类及其两种对象)类是一种描述对象的数据类型动物类对象是一种类的实现,可以实现类中的属性和方法cat dog。
首都是一个类而北京、伦敦、是对象3.在项目中新建了一个窗体名称为frmTest.cs,以非模式对话框方式打开此窗体,需要执行哪两条命令。
frmTest frmt=new frmTest();frmt.Show();4.FrameWork2.0中,负责编译C#类文件的编译器程序是什么?写出编译h.cs类文件的命令行,及编译成功之后形成的文件名(包括主文件名和扩展名)编译器程序是:csc.exeCsc h.cs 编译成功后文件名是:h.exe5.利用Timer控件,设置时间间隔为2秒,需要设置Timer的什么属性,Timer控件的唯一事件是什么,表示什么含义?属性:Interval 事件:Tick 含义:每当经过指定的时间间隔时发生。
6.英汉互译1)Button按钮4)标签lable2)StartPosition 属性5)文本框textbox3)namespace 命名空间二、填空题1.从控制台读入字符串,并将其转换为整型值赋给整型变量n,命令为________ n=Int32.Parse(Console.ReadLine());_______________________。
2.利用MessageBox信息框显示“Hello C#”的命令函数为_________Messagebox.show(“Hello C#”)_。
3.将文本框txbName中的内容设置为“yes”,使用的命令为__________ txbName.text=”yes”__________________。
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程序设计复习资料(完整答案)⼀、单项选择题: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中,⼤多数类的基类都是什么。
程序设计试题及答案
程序设计试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D3. 在C语言中,以下哪个语句用于结束一个循环?A. continueB. breakC. exitD. return答案:B4. 以下哪个选项是C语言中的条件语句?A. ifB. switchC. forD. while答案:A5. 在C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 随机数答案:A6. 以下哪个是C语言中的标准输入输出库?A. <iostream>B. <stdio.h>C. <iostream.h>D. <stdio>答案:B7. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. abs()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设为自定义函数)8. 以下哪个选项是C语言中的循环结构?A. if-elseB. switch-caseC. for, while, do-whileD. try-catch答案:C9. 在C语言中,以下哪个关键字用于定义一个结构体?A. classB. structC. unionD. enum答案:B10. 下列哪个选项是C语言中的位操作符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共20分)11. 在C语言中,使用________关键字可以定义一个指针。
答案:int* 或者 *(具体类型根据上下文)12. 一个C语言程序的执行从________函数开始。
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是设备描述表类的基类,除了一般的窗口显示外,还用于基于桌面的全屏幕绘制和非屏幕显示的打印机输出。
Windows程序设计复习资料
B Click 事件D GotFocus《Windows 程序设计( )》课程2018年秋季期末考试复习资料单向选择题:1、若要使命令按钮不可操作,要对( A )属性进行设置。
A EnabledB VisibleC BackColorD Text 2、要使文本框的文字不能被修改,应对(A LockedB VisibleC EnabledD ReadOnlv 3、当 D )属性进行设置。
运行程序时,系统自动执行启动窗体的(A A LoadC UnLOAD 4、 要判断在文本框屮是否按了 Enter 键,应在文本框的(D )事件中判断。
A ChangeB KeyDownC ClickD KevPress5、 在VB. NET 集成开发环境中创建 应用程序时,除了工具箱窗口,窗体窗口,属性窗口 外,必不可少的窗口是(C )。
A 窗体布局窗口B 立即窗口C 代码窗口D 监视窗口6、 语句“ If x=l then y 二1 ”,下列说法正确的是(C )。
A “ x 二1 ”和〃y 二1 ”均为赋值语句B “ x 二1 ”和“ y 二]”均为关系表达式C “ x 二1 ”为关系表达式,“ y 二1 ”为赋值语句D “ x 二1 ”为赋值语句,“ y 二1 ”为关系表达式7、 不论何种控件,共同具有的是( B ) oA TextB NameC ForeColorD Left8、 在下列关于通用对话框的说法中错误的是( B ) oA 可以用Showdialog 方法打开。
B 可以用Show 方法打开。
C 当选择了 “取消”按钮后,Showdialog 方法的返回值是Dialogresult, cancel 。
D 通用对话框是非用户界面控件。
9、 在下列关于菜单的说法中,错误的是( B ) oA 每个菜单项都是一个对彖,也有自己的属性,事件和方法Enabled 属性为false,则该菜单项变成灰色,不能被用B 除了 Click 事件Z 外,菜单项还能响应Doubleclick 等事件C 菜单屮的分割符也是一个对象D 在程序执行时,如果菜单项的 户选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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类成员函数中,用于任何消息的可覆盖函数是()。
A: OnCommand B: OnNotifyt C: OnUpdate D: WindowProc10 Windows程序中,用于表示通用字符的数据类型是()。
A: char B: unsigned short C: TCHAR D: unsigned char11 下列数据类型中,表示设备上下文句柄的数据类型是()。
A: HWND B: HDC C: HMENU D: HPEN12 下列各个窗口类中,表示各种视图类的基类的MFC类是()。
A: CScrollView B: CTextView C: CRichEditView D: CView13 下列各种窗口对象中,对象最好在栈(Stack)中分配MFC窗口类是()。
A: CToolBar B: CView C: CWnd D: CFrameWnd14下列各宏命令中,应该放在类实现中以支持序列化特性的宏命令是()。
A: IMPLEMENT_DYNAMIC(class_Name)B: IMPLEMENT_DYNCREATE(class_Name)C: IMPLEMENT_SERIAL(class_Name)D: IMPLEMENT_MESSAGE_MAP()15 CRuntimeClass类的操作中,用于从类名字符串获得该类CRunTimeClass对象指针的方法为()。
A: IsDerivedFrom B: FromName C: CreateObject D: GetBaseClass16 各种设备描述表的中,可以使用CreateComPatibleDC函数创建获得的设备描述表类型是()。
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 下列映射模式中,以0.01mm为逻辑单位的映射模式为()。
A: MM_LOMETRIC B: MM_HIMETRICC: MM_LOENGLISH D: MM_HIENGLISH19 下列GDI对象中,用于绘制图形内部区域的GDI对象为()A: 画笔B: 画刷C: 字体D: 区域E: 位图F: 调色板20 MFC文档视图框架中,用于规范程序、文档与视图对象之间的对象类是()类。
A: CWinApp B: CDocument C: CView D: CDocTemplate二简答题1 CObject类的三个特性运行时类信息:在运行时确定一个对象是否是一个类或其派生类的实例, CObject成员函数IsKindOf实现这个功能。
动态创建:CRuntimeClass类成员函数CreateObject实现这个功能。
序列化:把对象存入文件或从文件中读取对象内容的过程。
用户类通过覆盖Serialize()函数已实现这个功能。
2 简述设计一个支持可序列化类的设计方法?序列化:把对象存入文件或从文件中读取对象内容的过程。
设计可序列化的类的方法:1 定义该类时,使用CObject类或其派生类作为基类2 使用DECLARE_SERIAL(CLASSNMAE) 宏;3 定义默认构造函数;4 在类实现中使用IMPLEMENT_SERIAL(CLASSNAME,BASECLASS)宏;5 覆盖Serialize成员函数3 简述程序设计中为一个窗口创建子窗口的一般步骤和方法。
为一个窗口创建子窗口的一般步骤1 选择一个合适的窗口类作为基类(CWnd类或其派生类),定义一个窗口类2 以堆方式在窗口类中添加一个或若干个子窗口类型的成员变量。
3 重载OnCreate成员函数,在成员函数中调用这些子窗口对象的Create方法,创建子窗口对象。
4 建立子窗口与父窗口之间的消息映射。
4 简述MFC中有哪些设备描述表类,它们各有哪些特点。
MFC中定义了如下设备描述表类CDC:各种设备描述表类的基类,封装了设备描述表的属性和方法,提供了一个重要的访问图形设备的接口。
CWindowsDC:窗口区域设备描述表类。
CClientDC:客户区设备描述表类。
CPaintDC:重绘区域设备描述表类。
CMetaFileDC:图元文件设备描述表类。
5简述Windows消息的类型有哪些?各有何特点?窗口消息:窗口事件引发的消息。
如WM_PAINT。
控件通知消息:控件状态改变引发的消息。
命令消息:与一个用户界面对象相联系的消息。
菜单项、命令按钮和快捷键。
自定义消息:用户自定义的消息。
6简述序列化的概念和设计支持序列化类的方法。
序列化:把对象存入文件或从文件中读取对象内容的过程。
设计可序列化的类的方法:1 定义该类时,使用CObject类或其派生类作为基类2 使用DECLARE_SERIAL(CLASSNMAE) 宏;3 定义默认构造函数;4 在类实现中使用IMPLEMENT_SERIAL(CLASSNAME,BASECLASS)宏;5 覆盖Serialize成员函数7 简述设备描述表的概念和主要类型。
设备描述表(Device Context)是一种Windows数据结构,用来描述绘制窗口所需要的信息。
设备描述表主要有如下类型Display显示设备描述表,提供对视频显示设备上的绘制操作的支持Printer打印设备描述表,提供对打印机、绘图仪设备上的绘制操作的支持Memory内存设备描述表,提供对位图操作的支持Information信息设备描述表,提供对操作设备信息获取的支持8 简述GDI的基本概念,简述设备描述表中有哪些GDI对象,这些对象用哪些MFC类表示。
图形设备接口(GDI:Graphics Device Interface):为程序员提供了一个设备无关的设备接口。
Gdi对象分类画笔:绘制线和图形的边框。
画刷:绘制一个图形的内部区域。
字体:定义字体区域:设备上的一个区域,可用于定义裁剪区域等操作位图:一个由颜色位组成的数组,用于表示一个图形调色板:一个颜色列表,用于建立逻辑颜色到设备颜色的映射。
9 简述延迟再现技术的基本概念和与延迟再现技术相关的消息。
延迟再现技术:当向剪贴板传送数据中,并不直接将数据的这份副本传给剪贴板,而是直到有另一个程序需要数据时,程序才提供这份数据。
延迟提出技术的三个消息WM_RENDERFORMA T:当有程序调用GetClipboardData要从剪贴板取数据时,发送的消息,wParam是所要求的数据格式。
WM_DESTROYCLIPBOARD:当有程序调用EmptyClipboard时发送的消息,通知不再需要构造剪贴板数据信息。
WM_RENDERALLFORMA TS :剪贴板拥有者程序要终止执行时将收到的消息。
三程序设计已知:一个用于表示多边形的C++类CPolygon定义如下:class CPolygon{private:CPoint *pPoint;int nCount;int nLineStyle, nWidth;COLOREF crLineColor, 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(nCount>0){pPoint=new CPoint[nCount];for(int i=0;i<nCount;i++)pPoint[i]=point[i];}nLineStyle=LineStyle,nWidth=Width,crLineColor=linecolor,crFaceColor=facecolor;}CPolygon::~ CPolygon (void){if(pPoint) delete pPoint;}1请为其添加必要的成分,使其支持序列化。