logo资料库

VC考试总结复习2018|2014最新附带答案.pdf

第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
资料共17页,剩余部分请下载后查看
一、单项选择题 0、UpdateAllViews( )函数的作用是通知所有( C )类对象, 数据已经发生变化。 A. 框架 B. 文档 C. 视图 D. 应用 1、OnUpdate( )函数的作用是在文档数据发生变化时,对( B )窗口进行更新。 A. 视图 B. 文档 C. 框架 D. 应用 2、在 Serialize( )函数中可以进行( C )操作。 A. 写数据 B. 读数据 C. A&B D. 都不对 3、indicators[ ] 的元素值标识不同的状态栏窗格,常量值 ID_SEPARATOR 标识( D )窗格。 A. NumLock B. CapsLock C. ScrollLock D. 提示信息 4、状态栏窗格用 indicators[ ]数组的不同元素值标识,大写锁定键窗格使用 ( B ) 标识。 A. ID_SEPARATOR B. ID_INDICATOR_CAPS C. ID_INDICATOR_NUM D. ID_INDICATOR_SCRL 参考键盘上 Caps lock 代表大写锁定的意思,所以此题选择 B 5、应该在( C )类中添加消息 WM_MOUSEMOVE 的映射函数。 A. 文档 B. 视图 C. 主框 架窗口 D. 都不对 当鼠标光标移动时,框架调用这个成员函数。如果鼠标没有被捕获,则 WM_MOUSEMOVE 由鼠标下方的窗口所接 收;否则消息被发往捕获了鼠标的窗口。由此推测应该是指窗口方面。 6、CClientDC 类管理的是窗口的( C ) 部分。 A. 工具栏 B. 边框 C. 客户区 D. 标题栏 7、CClientDC 类管理的是窗口客户区,其( 0, 0 )点位于窗口的( A )处。 A. 左上角 B. 左下角 C. 右上角 D. 右下角 屏幕坐标系和窗口客户区坐标系最明显的区别在于坐标原点,屏幕坐标系的坐标原点在整个屏幕的左上角,而窗口 客户区坐标系的坐标原点在窗口客户区的左上角,通常这两个点是不重合的。 8、为了在编辑框控件中处理多行文本,需要设置( C )属性。 A. Want return B. Lowercase C. Multiline D. Multimedia B 是指小写 D 是多媒体 C 是 ES_MULTILINE 指定多行编辑控件。 (默认为单行。)
9、将多个单选按钮作为一组使用时,需要将第一个单选按钮的( A )属性选中。 A. Group B. Tabstop C. Image D. Type 若要将几个单选按钮设为一组,需要将第一个按钮的 Group 属性选中。则从该按钮直到下一个被选中 Group 属性之 间的按钮为一组。 10、BN_CLICKED 消息是( C )控件的通知消息。 A. 组合框 B. 列表框 C. 旋转按钮 D. 编辑框 BN_CLINCKED 是按钮通知控件 11、UDN_DELTAPOS 消息是( C )通知消息。 A. 组合框 B. 列表框 C. 旋转按钮 D. 编辑框 edit 的目的是获取用户的输入,所以编辑的内容改变时我们就需要用 UpdateData 函数将内容更新到控件的关联变 量中。那么,在哪个函数调用 UpdateData 呢,此处我们可以给编辑框添加 EN_CHANGE 的消息也可以给 spin 控 件添加 UDN_DELTAPOS 消息。 12、CImageList 类是管理( B )控件的。 A. 列表框 B. 图像列表 C. 日期时间 D. 标签 CImageList 类提供 Windows 公共图像列表控件的功能。 13、CTabCtrl 类是管理( D )控件的。 A. 列表框 B. 图像列表 C. 日期时间 D. 标签 “标签控件”类似于笔记本中的分隔符或文件柜中的标签。CTabCtrl 类提供 Windows 常用选项卡控件的功能。 14、AfxGetApp( ) 函数能获得( A )类的指针。A. 应用程序 B. 框架窗口 C. 视图 D. 文档 指向应用程序的单个 CWinApp 对象的指针。此函数返回的指针可用于访问应用程序信息,例如主消息调度代码或最 顶层窗口。 15、要处理鼠标右键环境菜单,必须添加( D )消息的映射函数。 A. WM_CONTEXTMENU B. WM_SETMENU C. WM_POPUPMENU D. WM_COMMAND 未知???选 WM_COMMAND 机会最大 16、CBitmap 类可以管理( B ) 位图。 A. 设备无关 B. 设备相关 C. 系统相关 D. 系统无关 CBitmap 类对象属于设备相关位图(DDB),需要转换位设备无关位图(DIB),然后就可以直接写入 BMP 文件。 17、在点击鼠标右键显示环境菜单时,需要调用( A )函数。
A. TrackPopMenu( ) B. AppendMenu( ) C. GetMenuItemCount( ) D. CreatePopupMenu( ) 上下文菜单不是通过 LoadFram()挂接在顶层菜单上的,而是通过 TrackPopupMenu 函数来显示(VS2010-MFC 鸡 啄米查找 menu 第 109 处得到答案) 18、m_pMainWnd 是( C )类的成员。A. CWinApp B. CMainFrame C. CWinThread D. CObject 补充:只有 CWinThread 对象才有 m_pMainWnd 19、m_pMainWnd 是指向( C )类对象的指针。A.应用程序 B.主线程 C.主框架窗口 D.主视图 使用 此数据成 员存储指向线 程主窗口 对象的指针。 框架窗口 对象中包含有 指向当前 活动视图对象 的指针 。 AfxGetApp()->m_pMainWnd 即为主框架窗口对象的指针。(VS2010-MFC 鸡啄米查找 m_pMainWnd 得到答案) 20、indicators[ ] 的元素值标识不同的状态栏窗格,ID_INDICATOR_NUM 标识( A )窗格。 A. NumLock B. CapsLock C. ScrollLock D. 提示信息 indicators 数组定义了状态栏窗格的划分信息。第一个元素一般为 ID_SEPARATOR,对应的窗格用来显示命令 提示信息,上面数组中的后三项为指示器文本的字符串 ID,可以根据这些 ID 在 String Table 字符串资源中找到相 应的字符串,查找方法是,在 Resource View 资源视图中,打开 String Table 字符串资源,可以看到有 ID、Value 和 Caption 三列,在 ID 列中找到需要的 ID,对应的 Caption 列文本就是要查找的字符串。ID_INDICATOR_CAPS、 ID_INDICATOR_NUM 和 ID_INDICATOR_SCRL 对应的字符串分别是 CAP、NUM、SCRL,对应的三个窗格分 别为 Caps Lock 指示器、Num Lock 指示器和 Scroll Lock 指示器。(VS2010-MFC 鸡啄米查找 indicators 得到答案) 21、*.clw 文件保存的是( B )。 A. 经过优化的代码 B. 类向导信息 C. 资源数据 D. 提示信息 .CLW 文件是 VC Class Wizard 信息文件。存放了 Class Wizard 的信息;ClassWizard 的意思就是智能地操作类的 工具,通常被称作“类向导” 22、SetTimer( UINT nID, UINT nElapse, void ( * lp)( ) )函数第二个参数的含义是( D )。 A. 时间 ID B. 开始时间 C. 结束时间 D. 间隔时间
参数 nIDEvent 指定一个非零的定时器 ID;参数 nElapse 指定间隔时间,单位为毫秒;参数 lpfnTimer 指定一个回 调函数的地址,如果该参数为 NULL,则 WM_TIMER 消息被发送到应用程序的消息队列,并被 CWnd 对象处理。 (VS2010-MFC 鸡啄米查找 SetTimer 得到答案) 二、类名及功能 CObArray,(对象数组类,CObArray 类支持 CObject 指针数组。这些对象数组近似于 C 中的数组,但不同的是 它们可以动态地增减,在 Win32 下,CObArray 对象的大小仅仅受限于有效的内存大小)CStringArray (字符串 数组类,CStringArray 与 IMPLEMENT_SERIAL 宏联合起来支持其元素的连续和转储。如果一个 CString 对象数组 被用一个重载的插入操作符或 Serialize 成员函数保存到一个存档中,则它的每一个元素都按顺序连续) CFormView (窗体视图的基类,应用程序的窗口可以改变大小,程序有菜单条、工具条和状态栏,且程序仍然 可以 Dov/View 运行机制来处理文档) CEditView(文本编辑类,像 CEdit 类一样,CEditView 对象是一个视 图 , 它 提 供 窗 口 编 辑 控 制 功 能 , 可 以 用 来 执 行 简 单 文 本 编 辑 功 能 。 CEditView 类 提 供 以 下 附 加 功 能 ) CRichEditView (带格式的编辑控件,在这个窗口中用户可以输入和编辑文本。文本可以被赋予字母或段落的 格式化,也可以包括嵌入的 OLE 对象。带格式编辑控件为格式化文本提供了设计界面。但是,应用程序必须实现需 要的用户部件,以使格式化操作对用户来说可用) CRichEditView () CListBox(列表框控件类,列表框显示项的列表,如用户可以见到和选择的文件名称。在单选列表框里,用户只 可选择一个项。在多选列表框里,可选择许多项。当用户选择某项时,其高亮显示且列表框给父窗口发送一个通知 消息) CComboBox(组合框控件类 组合框由一个列表框和一个静态控件(或编辑控件)组成。列表框部 分可以是一直显示的,也可以是隐藏的,在用户单击编辑控件边上的按钮(下拉箭头)时下拉该列表框) CImageList(图像列表控件,图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以 0 为 图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用 WINDOWS32 位应用 程序接口函数 API 来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了 控制图像列表的基本方法,这些方法在 WINDOWS95 及以后版本才能实现。) CTabCtrl (标签控件”类似于一个笔记本中的分隔器,通过使用标签控件,应用程序可以将一个窗口或对话框的 相同区域定义为多个页面。每一页包含了一套信息或一组控件,当用户选择了相应的标签时应用程序就会显示相应
的信息或控件。一种特殊类型的标签控件把标签显示得像按钮一样。点击一个按钮将立即执行一条命令而不是显示 一个页) CSpinButtonCtrl (旋转按钮控件,用户点击它们来增加或减小某个值,比如一个滚动位置或显示在相应控件中 的一个数字。一个旋转控件通常是与一个相伴的控件一起使用的,这个控件称为“伙伴窗口”。一个旋转按钮控件 可以自动定位在它的伙伴窗口的旁边,看起来就像一个单一的控件) CEdit(CEdit 类提供了 Windows 编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本,可 以通过对话模板或直接从代码中创建一个编辑控件。在两种情形下,首先调用 CEdit 构造程序构造 CEdit 对象,再调 用 Create 成员函数创建 Windows 编辑控件并将其与 CEdit 对象连接。) CDC (设备上下文对象的类,CDC 对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户 区对应的显示上下文的成员) CPaintDC (窗口画面图形设备类,它在构造期间执行 CWnd::BeginPaint,在析构期 间执行 CWnd::EndPaint。一个 CPaintDC 对象只在响应一个 WM_PAINT 消息的时候被使用,通常是在你的 OnPaint 消息处理成员函数中) CClientDC (客户区图形设备类,用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构 造函数中包含了 GetDC,析构函数中包含了 ReleaseDC) CWindowDC(整窗口文本类,获取整个屏幕区域,包括客户区和非客户区) CBitmap (位图类,类 CBitmap 封装了 Windows 图形设备接口(GDI)中的位图,并且提供了操纵位图的成员 函数。使用 CBitmap 对象之前要先构造 CBitmap 对象,调用其中的一个初始化成员函数设置位图对象的句柄。此后 就可以调用其它成员函数了) CWinApp(应用程序类,基于框架生成的应用程序必须有且仅有一个从 CWinApp 派生的类的对象。在创建窗口之 前先构造该对象。表示可能具有一个或多个线程的应用程序的主执行线程)和基类 CWinThread (线程类, CWinThread 类是 MFC 用来封装线程的,包括 UI 线程和工作者线程。因此每个 MFC 程序至少使用一个 CWinThread 派生类。被 MFC 程序员熟知的 CWinApp 应用类就从这里派生。) CObject (根类或基类,对运行时类信息的支持,对动态创建的支持,对串行化的支持,对象诊断输出,等等。 MFC 从 CObject 派生出许多类,具备其中的一个或者多个特性。程序员也可以从 CObject 类派生出自己的类,利用
CObject 类的这些特性。) CView (用户自定义视图类) CDoc(用户自定义文档类) CApp(用户自定义应用程序类) CMainFrame(主框架类,) CChildFrame(子框架窗口类,专门用来管理多文档应用程序中的文档 窗口) CDlg(用户自定义对话框类) CStatusBar(状态栏类,CStatusBar 成员函数提供了 Windows 通用控件的大多数功能;但是,当你调用 GetStatusBarCtrl 时,你可以赋予你的状态条更多的 Windows95 状态条的特性) CToolBar(工具栏类,提供了 Windows 通用控件的大多数性能;但是,当你调用 GetToolBarCtrl 时,你可以使 你的工具条具有更多 Windows 95工具条的特征。类 CToolBar 的对象是带有一行位图按钮和可选分隔线的控件条。 这些按钮可以像普通按钮、核选按钮或单选按钮那样操作。) 三、消息名称及含义(自己查) WM_VSCROLL WM_VSCROLL 定义在头文件 Winuser.h 中。定义为:#define WM_VSCROLL 0x0115. 当窗口的标准垂直滚动条中有滚动的事件发生时,在我们的窗口应用程序的消息队列中将产生一条 WM_VSCROLL 消息。 WM_CTLCOLOR 通告消息;在每个控件开始绘制之前,都会向其父窗口发送 WM_CTLCOLOR 通告消息,在该消息的处理函数中, 可以设置控件显示文本的前景色、背景色以及字体。该消息处理函数还要求返回一个画刷的句柄,用于在控件具体 的绘制之前擦除其客户区。 WM_SETCURSOR 应用程序可以使用 API SetCursor 改变光标,但是当光标移动时,系统会在新的位置绘制类光标(class cursor),也 就是注册窗口类时指定的光标。为了防止绘制类光标,你应该处理 WM_SETCURSOR 消息。光标移动并且没有鼠 标输入时,系统会向窗口发送这个消息。 WM_CONTEXTMENU 通知窗口用户在窗口中单击鼠标右键(右键单击)。 BN_CLICKED
MFC 为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理。比如 我们点击按钮时就会产生 BN_CLICKED 消息 WM_LBUTTONDOWN WM_LBUTTONDOWN 是一个计算机函数,功能是消息当用户在 window 客户区域点击鼠标左键的时候发送。如果 当前鼠标没有被捕捉,消息发送给鼠标下面的 window 窗体。否则,消息发送给当前捕捉鼠标消息的方法。 WM_MOUSEMOVE WM_MOUSEMOVE 消息在鼠标移动时被发送至已获焦点的窗口。 UDN_DELTAPOS UDN_DELTAPOS 消息在 WM_HSCROLL 消息之前发送,该消息实际上改变了控件的位置。这使您可以检查,接受, 修改或拒绝更改。 LBN_SELCHANGE LBN_SELCHANGE:单击鼠标选择了一列表项,只有具有 LBS_NOTIFY 的列表框才能发送该消息 LBN_SELCHANGE 通知消息将最新的选择项实时显示到编辑框中 TCN_SELCHANGE 标签控件的通知消息:TCN_SELCHANGE:通知父窗口控件的标签选择项已经改变 WM_KEYDOWN WM_KEYDOWN,程序 用语言。wParam 指定非系统键的虚拟键码, lParam 指定重复次数,扫描码,扩展键标 识符,上下文代码,前一键状态标识符,以及转换状态标识符。 WM_CLOSE 标准 Windows 消息 WM_DESTROY 窗口销毁后(调用 DestroyWindow()后),消息队列得到的消息。 用户通过点击关闭程序按钮后,消息队列增加一条消息 WM_CLOSE,然后程序从消息队列中取走 WM_CLOSE,调 用 DestroyWindow(),消息队列增加 WM_DESTROY,应用程序再次取走,并调用 PostQuitMessage(),最终得到 WM_QUIT 而使消息循环退出,程序退出。 WM_SIZE
WM_SIZE,是一种计算机用语,作用是能够改变窗口的大小。当主窗口的客户区部分大小改变时,我们的应用程序 将接收到 WM_SIZE 消息。当然该窗口第一次显示时,我们也将接收到该消息。 四、函数名称及作用(自己查) TrackPopupMenu( ) 函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。 UpdateData( ture ) UpdateData() 是 MFC 的窗口函数,用来刷新数据的。总的来说:操作系统会调用这个函数来初始化对话框中的数 据,或者检索或者验证对话框中的数据。 简单说就是:如果 UpdateData(TRUE) == 将控件的值赋值给成员变量; UpdateData( false ) UpdateData() 是 MFC 的窗口函数,用来刷新数据的。总的来说:操作系统会调用这个函数来初始化对话框中的数 据,或者检索或者验证对话框中的数据。 UpdateData(FALSE) == 将成员变量的值赋值给控件。 Invalidate( ) Invalidate( ) :使整个窗口客户区无效, 并进行更新显示的函数 UpdateAllViews( ) 文档被修改后可调用此函数,把文档被修改的信息通知给每个视图 OnInitialUpdate( ) 第一个被框架调用的函数,框架在第一次调用 OnDraw 前会调用 OnInitialUpdate,因此 OnInitialUpdate 是设置滚动 视图的逻辑尺寸和映射模式的最合适的地方 OnUpdate( ) 指示库继续操作。 执行某些更新时,在执行操作期间会频繁调用此函数。 例如,在开始跟踪时,在启用每个提供 程序之后以及在合并一定百分比的缓冲区后停止并合并跟踪时调用它。 OnNewDocument( )
分享到:
收藏