




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Windows 程序设计模拟题一 单项选择题1.在 VC+ 中,项目文件的扩展名是(B)。A) exeB ) dspC) dswD ) cpp2.在 MFC 中,利用 ClassWizard 不能( D )。A)建立新类B )进行消息映射C)增加类的成员变量D )插入资源3.当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。A) WM_CHARB ) WM_HSCROLLC) WM_VSCROLLD ) WM_CHANGE4.更新菜单状态的消息是(C)。A) WM_COMMANDB )UPDATEC) UPDATE_COMMAND_UID ) INVALIDATE
2、5.对于消息队列描述正确的是(D)A)在 Windows 中只有一个消息系统, 即系统消息队列。 消息队列是一个系统定义的数据结构,用于临时存储消息。B)系统可从消息队列将信息直接发给窗口。另外,每个正在 Windows 下运行的应用程序都有自己的消息队列。C)系统消息队列中的每个消息最终都要被USER 模块传送到应用程序的消息队列中去。应用程序的消息对列中存储了程序的所有窗口的全部消息。D)以上都正确6. 在 MFC 中,所有的控件都是( B )类的派生类,都可以作为一个特殊的窗口来处理。A) CViewB ) CWndC) CWindowD ) CDialog7. 使用 GetDC() 获
3、取的设备上下文在退出时,必须调用(A )释放设备上下文。A) ReleaseDC()B ) delete()C) DeleteDC()D ) Detach()8. 希望菜单无效,应该用 CCmdUI 类的( A )成员函数。A) EnableB ) SetRadioC) SetCheckD ) SetText9. 希望菜单前出现一个“”,应该用CCmdUI 类的( C)成员函数。A) EnableB ) SetRadioC) SetCheckD ) SetText10. 下面( A)不是 MFC 设备环境类 CDC 类的派生类。A) GDIB ) CPaintDCC) CClientDCD )
4、 CWindowDC11. 在 MFC 中,所有的文档类都派生于(C ),所有的视图类都派生于(A )。A ) CViewB ) CWindowC) CDocumentD) CFormView第 1 页12. 采用 C+ 进行绘图时,( B )用于指定图形的填充样式,( A )用于指定图形的边框样式。A )画笔B )画刷C)区域D )位图13. ( C )包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由程序来处理消息。A)系统消息B )用户消息C) 输入消息D )控制消息14项目文件的扩展名是(B)。A ) exeB )dspC) d
5、swD) cpp15. 在 MFC 中,文档负责将数据存储到永久存储介质中,通常是磁盘文件或数据库,存取过程称为( B)。A )文件访问B )串行化C)文件读写D)格式化16.在 VC+ 6.0在编程环境中,运行程序的快捷键是(A)。A) Ctrl+F5B) F7C)Ctrl+F7D )F517.在 VC+ 6.0在编程环境中,设置和取消断点的快捷键都是(A)。A) F9B) F5C) F11D) F1018. 在 MFC 中,在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属性对话框中的( B)。A) SeparatorB) Pop-upC) InactiveD) Grayed
6、19. 使用 GetWindowDC( ) 和 GetDC( ) 获取的设备上下文在退出时,必须调用(C)释放设备上下文。A ) DeleteDC( )B ) delete( )C)ReleaseDC( )D )Detach( )20.在 MFC 中,( B)代表窗口客户区的显示设备上下文,(C)代表整个窗口的显示设备上下文。A ) CPaintDCB) CClientDCC) CWindowDCD) CMetaFileDC21. 对话框的功能被封装在( B)类中。A) CWndB ) CDialogC) CObjectD ) CCmdTarget22.( C)包括键盘和鼠标的输入。这一类消息
7、首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由程序来处理消息;(D )用来与 Windows 的控制对象,如列表框、 按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。A )系统消息B)用户消息C)输入消息D )控制消息23.生成 1 个只具有确定和取消按钮的消息框,其参数为(C )。A ) MB_OKB) MB_YESNOC) MB_OKCANCELD )MB_RETRYCANCEL24.在 Windows 程序设计中如果加入了滚动条。设置滚动条的范围使用(C)函数,设置滚动条的位置使用( E)函数,获得滚动块的当前位置
8、使用(F )函数。A) SetPos()B ) SetRange()C) SetScrollRange ()D ) GetPos()E)SetScrollPos()F) GetScrollPos()第 2 页G) GetScrollRange ()25. 消息循环的处理过程如下 :( A)函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg 结构变量中,同时该函数返回TRUE ;得到消息msg 后,( B)把来自键盘的命令翻译成WM_XXX消息命令形式。(E)函数通知 Windows 把每个消息分发给相应的窗口函数。应用程序并
9、不直接调用窗口函数,而由Windows 根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。A ) GetMessage( )B) translateMessage( )C) PostMessage( )D) SendMessage( )E)DispatchMessage( )26. 如果要严格按照匈牙利命名法命名1 个局部窗口句柄, 以下变量命名正确的是 ( B )。A ) g_hWndB )m_hWndC)g_pWndD )m_pWnd27.在 Windows 编程约定中,应用程序接口的英文缩写是(A )。A )APIB)SDIC) GDID)MDI28.在 Windows 编程约定
10、中,软件开发包的英文缩写是(C )。A) APIB )SDIC)SDKD) MDI29.在 Windows 编程约定中,图像设备接口的英文缩写是(C )。A) APIB )SDIC)GDID) MDI30.以下对应于 unsigned long的数据类型为:( B)A ) WORDB )DWORDC) INTD ) BYTE31.下列选项中,不属于匈牙利命名法属性部分的是(D)。A ) g_B) m_C) c_D) d_32. 如果要严格按照匈牙利命名法命名1 个全局窗口句柄, 以下变量命名正确的是 ( A )。A ) g_hWndB )m_hWndC)g_pWndD )m_pWnd33.下列
11、 Windows 数据格式中,代表设备句柄的是(B )。A ) HWNDB) HDCC) HINSTANCED )HFONT34. " 在一个窗口的正常运行的 Windows 程序中,把主窗口创建语句做如下改动:hWnd = CreateWindow(NULL, szTitle, WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);则下列说法正确的是(C )。"A ) 程序仍然正常运行,与改动前相比没有变化B ) 程序出现编译错误C) 程序编译通过,但没有窗
12、口显示D ) 程序正常运行,窗口标题变为NULL35. 典型的 Windows 窗口程序的流程为:(A )A ) 注册窗口类 ->创建窗口 ->显示窗口 ->更新窗口 ->消息循环B ) 创建窗口 ->注册窗口类 ->显示窗口 ->更新窗口 ->消息循环C) 创建窗口 ->注册窗口类 ->显示窗口 ->更新窗口 ->消息循环D ) 注册窗口类 ->创建窗口 ->更新窗口 ->显示窗口 ->消息循环36. 菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。 ( D )A ) Vi
13、sibleB )GrayedC) EnableD) Separator37. 在 Windows 消息机制中,菜单消息类型是:(B )A ) WM_PAINTB ) WM_COMMANDC) WM_CREATED) WM_CLOSE38. 在 Windows 编程中,代表键盘的 " "键的虚拟键值是 ( A )。A ) VK_UPB ) WM_KEYDOWN第 3 页C) WM_KEYUPD ) VK_DOWN39.在 Windows编程中,响应键盘按键按下消息的Windows 消息是( B)。A ) VK_UPB ) WM_KEYDOWNC) WM_KEYUPD ) VK
14、_DOWN40.在 Windows编程中,按下键盘的"A" 键后,返回的 Windows 消息是(B )。A ) VK_AB ) WM_KEYDOWNC) AD ) DIK_A41.在 Windows 编程中,按下鼠标左键产生的Windows 消息是(B )。A ) WM_KEYDOWNB) WM_LBUTTONDOWNC) WM_LEFTD) WM_RBUTTONDOWN42.下列哪个缩写是微软提供的C+ 语言的帮助库?( B )A) MFCB) MSDNC) APID) SDK43.Windows 编程中,定时器消息是(B)A ) WM_TIMEB ) WM_TIMER
15、C) WM_ON_TIMED) WM_COMMAND44.GDI 环境中,窗口的坐标系是如何构成的?(D )A ) 左上角为原点, x 轴正方向为水平向右,y 轴正方向为竖直朝上B ) 中间为原点, x 轴正方向为水平向右,y 轴正方向为竖直朝上C) 左下角为原点, x 轴正方向为水平向右,y 轴正方向为竖直朝下D ) 左上角为原点, x 轴正方向为水平向右,y 轴正方向为竖直向下45. 以下选项中, GDI 不能支持的是:( B )A ) 位图B) Flash 动画C) 直线和曲线D)文字46.设备环境 DC 的全称为:( B )A ) Device ContentB) Device Con
16、textsC) Device ConfigD) Device Conter47.InvalidateRect 的作用是( B )A ) 删除一个矩形B )使一个矩行区域变为无效,从而可以重绘C) 使一个矩形区域变为无效,从而释放部分GDI 资源D ) 擦除一个矩形区域48. " 已知窗口为缺省状态,有如下代码:HDC hdc = GetDC( hWnd );HPEN hpen = CreatePen( 1, 1, RGB(255,0,0) );SelectObject( hdc, hpen );Ellipse( hdc, 050, 50, 200, 200 );则这段代码的执行效果是
17、(B )。"A ) 绘制 1 个黑色的椭圆形边框,无填充颜色B ) 绘制 1 个红色的椭圆形边框,无填充颜色C) 绘制 1 个黑色的椭圆形,填充为黑色,无边框D ) 绘制 1 个红色的椭圆形,填充为红色,无边框49." 已知有如下代码:HDC hDC = GetDC(hWnd);LineTo(hDC,100,100);则这段代码的执行效果是(A )。"A ) 从窗口的左上角至坐标(100, 100)绘制 1 条直线B ) 没有绘制任何图形第 4 页C) 从窗口的任意一点开始至坐标(100, 100)绘制 1 条直线D ) 从鼠标在窗口的位置至坐标(100, 100
18、)绘制一条直线50.以下函数中不受画刷影响的函数是:(C)A ) RectangleB )EllipseC) LineToD) Polygon51.如果要创建一个宋体字体,那么字体描述中哪个属性为“宋体”?(C)A ) lfCharSetB ) lfQualityC) lfFaceNameD )lfStrikeOut52.在 Windows 编程约定中,位图句柄为(B)。A ) HGDIB ) HBITMAPC) HDCD) HPEN53.下面哪个步骤能实现透明贴图(模板位图为单色的1 位位图)?(A )A ) 位图和背景像素作异或操作->使用模板位图作与操作->原位图与背景作异或
19、操作B ) 使用模板位图作与操作 ->原位图与背景作异或操作->位图和背景像素作异或操作C) 位图和背景像素作异或操作->原位图与背景作异或操作 ->使用模板位图作与操作D ) 位图与背景作异或操作 ->位图和背景像素作异或操作->使用模板位图作与操作54.在 BitBlt函数中进行光栅化处理方式中,哪1 个值说明是要进行或运算?( D )A ) SRCANDB )SRCCOPYC) SRCINVERTD) SRCPAINT55.动态链接库文件的后缀名为(B)。A ) libB )dllC) exeD) obj二 .多选题1.已知严格按照匈牙利命名法命名的变
20、量m_pTemp,则以下说法正确的是(BC )。A)该变量是1 个全局变量B) 该变量是1 个类成员变量C)该变量是1 个指针变量D) 该变量一定是 1 个私有变量2 下列哪种情况下系统可能向窗口发送WM_PAINT 消息?( ABCD )A) 窗口最初创建时B) 窗口移动后部分区域由不可见变为可见C) 窗口大小改变后D) 滚动条滚动后3 在注册窗口类中,不需要进行的操作是(BC )。A)载入图标B)确定窗口大小C)确定窗口标题D)确定窗口类名称4.关于 PeekMessage和 GetMessage 的说法正确的是(AB )A) PeekMessage立即返回B) GetMessage 将会
21、等待消息到来C) PeekMessage等待消息到来D) GetMessage 立即返回5.关于动态菜单,以下说法正确的是(BD )。A) 函数 LoadMenu 可以弹出菜单B) 函数 CreatMenu 用于建立空菜单C) 函数 DeleteMenu 用于删除整个菜单D)函数 InsertMenu 用于在菜单中插入 1 个菜单项6.以下关于 Windows 的鼠标消息,说法正确的是(BD )。A)鼠标的按键消息种类可以从wParam 中得到B)鼠标的按键消息种类可以从message中得到第 5 页C)鼠标的位置信息可以从wParam 中得到D)鼠标的位置信息可以从lParam 中得到7.
22、已知语句 SetTimer(NULL,1,100,NULL) ,则以下说法正确的是(AD )。A) 设置了一个定时器,该定时器不能正常起作用B) 设置一个定时器,能够正常起作用C)设置了一个定时器,时间间隔为1 秒D)设置了一个定时器,时间间隔为100 毫秒8.下列选项中属于 Windows GDI 资源的是(ABC )。A)位图B) 画笔C) 字体D)窗口9. 能用于绘制直线的函数为:(AB )A)LineToB) PolylineC) ArcD)PolyBezier10. 画笔的线型包括:( ABD )A)实线B)点划线C)波浪线D) 虚线11.创建画刷的函数有:( ABC)A)Creat
23、eHatchBrushB)CreateSolidBrushC)CreatePatternBrushD)CreateLogicBrush12.在 Windows 消息机制中,消息系统3 大关键要素是(ABC )。A)消息队列B)消息循环C)消息处理函数D)消息映射13下列哪种情况下系统可能向窗口发送WM_PAINT消息?( BCD )A) 窗口最初创建时B) 窗口移动后部分区域由不可见变为可见C)窗口大小改变后D)滚动条滚动后14匈牙利表示法的变量一般分为哪几个部分?(ABC)A) 属性 ( 例如 g_)B)类型C)描述D)后缀15下列选项中,可以用Windows 句柄标识的有(ABD)。A)
24、窗口 B) 文件 C) 消息 D) 字体16关于 Windows 句柄,下列说法正确的是(AD)。A) 每个运行着的 Windows 程序都有对应的 Windows 实例句柄B) 同 1 个 Windows 程序打开多次时,对应同 1 个实例句柄 C)1 个 Windows 实例句柄只能对应 1 个窗口句柄D)1 个 Windows 实例句柄可以对应多个窗口句柄三、名词解释1、事件:可能触发计算机程序做出相应反应的刺激2、句柄:为了区别于普通变量的标识,Windows 把这种复杂对象的标识叫做句柄3、消息:为了描述事件的各种信息(例如,何时何地发生了何种事件等),Windows 定义了一个结构
25、,这个结构就叫做”消息”4、 Windows 的 API 函数:由操作系统提供的,用户可以使用的函数就叫做API5、 Windows SDK 程序:使用软件开发工具包开发出来的Windows 应用程序6、资源:资源就是一种可供Windows 应用程序利用,可单独编辑,并可动态加载的数据7、图象设备接口( GDI ): Windows 把用于改变 DC 属性的操作,即与绘图相关的操作都制作成函数,这些函数的集合就叫做图形设备接口8、 CDC 类:在面向对象程序设计思想中,把DC 和 GDI 函数封装到一起形成CDC 类9、回调函数:系统调用用户编写的函数过程叫做“回调”,所以这种被系统调用的函数
26、也第 6 页叫做“回调函数”10、无效显示区: 在有效提高拆分窗口显示更新效率的方法中,程序只重绘必须重绘的区域11、控件: Windows 设计了一些具有图形外观的程序实体,这些程序实体在鼠标或键盘的作用下会使程序出现不同的响应,这些可以接收或者产生事件的程序实体就叫做控件12、类信息表 :MFC 程序在不同的场合下还经常用到类的其他信息,于是MFC 就把这些信息统统都放在映射表项中,并把它叫做类消息表13、消息循环:while(GetMessage(&msg,NULL,NULL,NULL)TranslateMessage(&msg);DispatchMessage(&
27、;msg);四填空题1、 在 MFC 中,用户可以通过项目工作区窗口的ResourceView 视图来查看资源。2、 一个单文档的MFC 应用程序框架一般包括5 个类:应用程序类、 框架窗口类、 视图类、文档类和文档模板类。3、 Windows 是一个基于消息的消息驱动系统。4、 项目工作区文件的扩展名是dsw。5、 MessageBox 函数弹出一个小的对话框向用户显示短信息,并将用户最终的选择返回给调用者。6、 在通常情况下,视图派生类的成员函数中通过调用GetDocument 函数得到当前文档对象的指针。7、 Windows 程序中的消息有窗口消息、命令消息和控件通知消息三种类型。8、
28、MFC 中的集合类包括数组、列表(链表)、映射(顺序可变)。9、 在进行绘图时,画刷用于指定图形的填充样式,画笔用于指定图形的边框样式。10、用户按下键盘按键并放开的过程中,将产生至少三条消息:WM_KEYDOWN,WM_CHAR , WM_KEYUP 。11、 Windows API 中 API 的中文译文是应用程序接口。12、 MFC的中文译文是微软基础类库。13、 GDI 的中文译文是图形设备接口。14、全局函数AfxGetApp() 可以得到CWinApp应用类指针。15、 MFC中可自动重绘的绘图代码一般位于项目的视图类的OnDraw() 函数中。16、在视图中,GetDocumen
29、t() 函数可得到对应的文档对象指针。17、在文档中,GetFirstviewPosition() 和 GetNextview() 配合可用来遍历所有和文档关联的视图。18、在 MFC中,用 CRect 类来描述一个矩形区域的大小。19、在任何时刻设备环境中必须有一支画笔,并且只能有一支。因此在使用自己定义的画笔时,要使用CDC的函数把默认画笔替换为自己定义的画笔,这个函数是SelectObject() 。20、 MFC的缺省的映射模式是MM_TEXT,对应的单位为像素。21、在视图类中为了访问与视图关联的文档对象中数据,应该先调用GetDocument()函数得到相关联文档对象指针。22、利
30、用 MFC AppWizard 可以生成SDI 界面、 MDI界面和基于对话框界面的程序。23 、 在 框 架 窗 口 中 , GetActiveDocument( ) 函 数 可 得 到 当 前 活 动 文 档 指 针 ,GetActiveView()函数可得到当前活动视指针。24 MFC对话框类的基类是CDialog,用户自定义对话框类都是从它派生而来。25 Windows 系统是一个消息响应事件驱动的操作系统,消息是应用程序与操作系统交互的手段。第 7 页26. GetMessage( ) 被用来从消息队列获取消息,27.函数 TranslateMessage( )用来把键盘消息转换为字
31、符消息,函数DispatchMessage( )用来向系统派送消息。五、选择填空题(每空1 分,共 15 分)1、B代表窗口客户区的显示设备上下文,C代表整个窗口的显示设备上下文。A、 CPaintDCB、 CClientDCC、 CWindowDCD、 CMetaFileDC2、消息循环的处理过程如下:A 函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg 结构变量中,同时该函数返回TRUE ;得到消息 msg 后, B 把来自键盘的命令翻译成 WM_XXX 消息命令形式。 E 函数通知 Windows 把每个消息分发给相
32、应的窗口函数。应用程序并不直接调用窗口函数,而由 Windows 根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。A 、GetMessage( )B 、 translateMessage( )C、PostMessage( )D、 SendMessage( )E、DispatchMessage( )3、滚动条类CScrollBar 的成员函数规定了滚动条的操作。设置滚动条的范围使用C函数,设置滚动块的位置使用E函数,获取滚动块的当前位置使用F函数。A 、 SetPosB、 SetRangeC、 SetScrollRangeD、 GetPosE、 SetScrollPosF、 GetSc
33、rollPosG、 GetScrollRange4、所有的文档类都派生于C,所有的视图类都派生于A。A、 CViewB、CWindowC、 CDocumentD、 CFormView5、C包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由 Windows将它们送入应用程序消息队列中,由程序来处理消息;D用来与 Windows 的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。A、系统消息B、用户消息C、输入消息D、控制消息6、使用B获取的设备上下文在退出时,必须调用ReleaseDC( )释放设备上下文。A 、GetW
34、indowRect( )B、GetDC( )C、BeginPaint ()D、 GetClientRect( )六判断题1.所谓的 Windows API 就是独立于C 语言的一套全新的程序设计语言。(× )2.在 Windows 编程约定中, CHAR 数据类型和TCHAR 数据类型是相同的。(× )3. 匈牙利命名法是所有程序都必须遵循的一个规则,变量的命名必须按照规则进行。( × )4.在 Windows 编程约定中,代表窗口句柄的数据类型是HWND 。( )5.在 Windows 编程中,使用窗口句柄来操作具体的窗口。( )6.在 Windows 的消息结
35、构中,键盘的按键字符信息被保存在lParam 中。( × )7.在 Windows 消息机制中, WM_TIMER 消息表示创建了1 个定时器。( × )8.所有的 Windows 程序,其入口函数必须名为WinMain。(×)9. PostMessage 和 SendMessage 的区别在于前者投递消息到队列,而后者直接调用消息响应函数。( )10.在 Windows 编程中, AppendMenu 可以在菜单的任意位置插入新的菜单项。(× )11. 在 Windows 编程中,菜单可以在资源视图中设计,一旦载入程序,就不能再被更改。( ×
36、 )12.在 Windows 编程中,键盘按键弹起时,会返回消息WM_KEYDOWN。(×)13.在 Windows 编程中,鼠标消息中不包含任何键盘信息。(× )14.在 Windows 编程中, 1 个程序中只允许设置一个定时器。(× )15. 画笔颜色构成是 0x00BBGGRR ,其中 B、 G、 R 分别代表 1 位 16 进制数表示蓝、绿和红色分量的大小。( )16. 对于 GDI 点阵字体和 GDI 笔划字体, Windows 都可以合成粗体、斜体、加底线和加删第 8 页除线,而不需要为每种属性另外储存字体。()17. FillRect中指定的画刷是
37、用于画矩形本身和边框,FrameRect 中指定的画刷是用于画矩形的边框。(× )18. Win32 API 可以直接读取所有的图像格式。(× )19打开一个项目,只需打开对应的项目工作区文件。( )20基于对话框的应用程序,也有文档类和视图类。( × )21所有的 Windows 应用程序都是消息驱动的。( )22 COMMAND( 菜单消息类型 )是更新命令用户接口消息。( × )23删除 CPen 对象可调用 CPen 对象的 DeleteObject 函数。( × )24 CBrush 是 GDI 对象。( )25 Windows 应用
38、程序的入口也是 main 函数。( × )七简答题1 Windows 应用程序的主函数有哪三个主要任务2.运行程序后单击鼠标右键弹出对话框提示“您按下了鼠标右键”对话框。简要说明设计步骤。参考答案:( 1)新建基于单文档的应用程序;( 2)用类向导映射鼠标右键消息;( 3)在消息函数中添加代码:MessageBox(“您按下了鼠标右键”);3、.利用 AppWizard 生成默认的 SDI 应用程序 My 时,向导自动生成的哪四个类?及其相应的功能。参考答案:CMainFrame (构建应用程序,显示窗架)CMyApp (整个应用程序)CMyDoc (管理数据)CMyView (显示
39、数据)4.创建窗口的五个步骤:参考答案:1)定义窗口2)注册窗口3)创建窗口4)显示窗口5)消息循环5 如何显示和更新窗口?答:调用函数ShowWindow显示窗口,调用函数UpdateWindows 更新窗口。6 什么是消息循环?答:在创建了窗口的应用程序中, 应用程序将不断地从消息队列中获取消息, 并将消息指派给指定的窗口处理函数来处理, 然后再回来从消息队列获取消息, 这个不断重复的工作过程叫做消息循环。7 说明 Windows 应用程序的主函数、窗口函数与Windows 系统之间的关系。答: Windows 应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序启动时由系统首
40、先调用的函数, 而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。8 文档类的成员函数UpdateAllViews的作用是什么?答:通知文档所对应的所有窗口同时进行重绘。9 MFC应用程序的界面有哪三种方式?答:( 1)单文档界面;(2)多文档界面;(3)基于对话框界面。10 WinMain() 函数的工作。第 9 页WinMain() 函数是 Windows 程序的入口点 在 WinMain 中进行注册窗体类、 建立窗体、 显示窗体、更新窗体、建立消息循环11非 MFC 的 Windows 程序中,WM_PAINT消息中怎样获得客户区的设备环境句柄
41、。和不是 WM_PAINT消息中怎样获得客户区的设备环境句柄。BeginPaint -EndPaint GetDC-ReleaseDC(成对出现 )利用 GetDC函数获取设备环境句柄12句柄的含义。句柄是一个通常为 32 位的无符号整数( unsigned int ),它代表一个内核对象,是内核对象在应用层的表示。13在 MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同14 GetMessage()函数在什么情况下返回0在接收到 WM_QUIT消息时返回015 Windows 中应用程序的输出是怎样进行的。通过设备描述表DC(
42、Device Context)来进行应用程序与物理设备之间的交互16当程序中某个函数改变了数据而需要重WM_PAINT不会被自动调用,这时需要怎样间接调用它。使用 InvalidateRect()调用17键盘消息处理函数OnKeyDown(UINT nChar,UINT nRepCnt,UINT nFlags)中的主要参数。参数 UINT nChar 指按下按键的虚拟键码; nRepCnt 按键按下的次数; nFlags 有没有其他键同时被按下;如 shift 、 ctrl 、 Alt18 DC 中的 SetROP2()的作用。设定绘图模式19扩展名为 .rc 的文件是什么。资源文件20 GD
43、I 绘图函数所使用的参数。GDI 绘图函数使用的逻辑坐标21当用户按下某个字母键时消息发生的顺序。WM_KEYDOWN->TranslateMessage()->WM_CHAR22常用的客户区鼠标消息有哪些WM_LBUTTONDBCLK双击鼠标左键 WM_LBUTTONDOWN按下鼠标左键 WM_LBUTTONUP 释放鼠标左键 WM_MOUSEMOVE移动鼠标 WM_RBUTTONDBCLK双击鼠标右键 WM_RBUTTONDOWN 按下鼠标右键 WM_RBUTTONUP释放鼠标右键23什么样的窗口才能接收键盘消息Windows有活动窗口Windows 中规定只有具有输入焦点的窗
44、口才能接收键盘消24.键盘消息分为哪几类只产生按键消息(WM_KEYDOWN,WM_KEYUP)WM_SYSKEYDOWN,WM_SYSKEYUPWM_CHAR,WM_DEADCHARWM_SYSCHAR,WM_SYSDEADCHAR系统按键消息只能产生非系统的字符消息。在 Windows 中一些键是只产生按键消息而不产生Shift键、 Ctrl键、功能键、光标移动键、特殊字符键。25.焦点。WM_SETFOCUSWM_KILLFOCUS个窗口进行操作。26. 在 WNDCLASSEX结构类型中,各个成员所代表的含义是什么?第 10 页WNDCLASSEX 结构类型定义如下:typedef s
45、truct _WNDCLASSEX UINTcbSize;UINTstyle;WNDPROC lpfnWndProc;intcbClsExtra;intcbWndExtra;HINSTANCE hInstance;HICONhIcon;HCURSOR hCursor;HBRUSHhbrBackground;LPCTSTRlpszMenuName;LPCTSTRlpszClassName;HICONhIconSm; WNDCLASSEX27. 在 CreateWindowEx() 函数中,各成员所代表的含义是什么?CreateWindowEx()函数定义如下:HWND CreateWindowE
46、x(DWORD dwExStyle,LPCTSTRlpClassName,LPCTSTRlpWindowName,DWORDdwStyle,intx,inty,intnWidth,intnHeight,HWNDhWndParent,HMENUhMenu,HINSTANCE hInstance,LPVOIDlpParam);28.UpdateWindow() 函数的功能什么?UpdateWindow()函数定义如下:BOOL UpdateWindow(HWND hWnd);答:更新窗口客户区29. 在 MSG 结构类型中,各个成员所代表的含义是什么?MSG 结构类型定义如下:typedef st
47、ruct tagMSG HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam;DWORD time;POINT pt; MSG, *PMSG;30.DefWindowProc()函数的功能什么?DefWindowProc()函数定义如下:第 11 页LRESULT DefWindowProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);答 :函数功能:该函数调用 缺省的窗口过程来为应用程序没有处理的任何窗口消息提供缺省的处理。该函数确保每一个消息得到处理。31. 讲匈牙利命名惯例的约定,还
48、要记住那些习惯用法?匈牙利命名惯例的约定有两条:1. 标识符以一个或者几个小写字母开始,这些小写字母表示标识符的数据型;2. 大小写混杂写,使得标识符具有一定的含义,便于理解,增强可读性。习惯用法: 在命名结构变量时,可以用结构名的小写字符序列作为变量名的字首,或者用整个结构名用作结构变量名。32消息循环从应用程序消息队列取得窗口消息是怎样送給窗口消息处理程序?答:通过Dispatch(&msg) 将消息发给指定的窗口;33. 主程序 WinMain 和 WndProc 是如何联系的 ?答: WinProc 窗口处理函数是一个回调函数,它是用来处理消息的,是由Windows调用的。在注册窗口类的时候指定了窗口处理函数的入口地址,应用程序获得的消息都交给此入口地址对应的窗口处理函数来处理。34.解释下面函数申明中的每一个单词intWINAPIWinMain ( HINSTANCEhInstance , HINSTANCEhPrevInstance , LPSTRlpCmdLine , int nShowCmd) ;答: HINSTANCE 是数据类型, hInstance 称为执行实例代号。hPrevInstance 是一个识别字,通过检查hPrevInstance 就能够确定此应用程序是否已有过其他实例。lpCmdLine 是指向命
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓储管理中的IT解决方案试题及答案
- 2025年电容器用钽粉项目发展计划
- 解析技巧:2024年CPMM试题及答案
- 细胞内的合成与分解代谢试题及答案
- 解析2024年国际物流师考试试题及答案
- 作业防井喷课件
- 2024年仓储成本控制策略试题及答案
- 旧路新建污水管道施工方案
- 木工制作文件柜施工方案
- 整合重点CPSM考试试题及答案
- 2025核电厂常规岛安全生产风险分级管控及隐患排查治理规范
- DB11∕T344-2024陶瓷砖胶粘剂施工技术规程
- DB37-T 5312-2025 《建筑施工安全防护设施技术标准》
- 2024年凤凰出版传媒集团秋季招聘笔试参考题库附带答案详解
- 2025年安徽水利水电职业技术学院单招职业技能考试题库往年题考
- 2025年扬州市职业大学单招职业倾向性测试题库审定版
- 2025年中央一号文件参考试题库100题(含答案)
- 教科版三年级科学下册第二单元《动物的一生》全部课件(共8课)
- DeepSeek的应用与部署
- 2024年内蒙古自治区高等职业院校对口招收中等职业学校毕业生单独考试语文试题
- 公司金融(对外经济贸易大学)知到智慧树章节测试课后答案2024年秋对外经济贸易大学
评论
0/150
提交评论