3.填空题
1)在MSDN的索引页面输入“SetImageList”后按<Enter>键,显示有七个类支持该函数,对应的控件包括____、____和____等。这些控件的特点是内部都包含多个的控件类,因此,SetImageList函数主要用于____的图标设置。
2)使用图像列表首先要通过____函数建立图像列表,再通过____函数向图像列表里加入多个图标。
3)在列表控件内新插入列表项的图标设置,是在____函数的第3个参数指定图标索引;对于已经插入的列表项的图标更改,是在____函数中通过LVITEM结构体的iImage成员指定图标。
4)在列表控件中,不但每行____可以设置不同的图标,而且每列的____也可以设置图标。
5)图像列表添加图像的方法有两种(参见CImageList::Add函数),一种是加入____的方式,另一种是加入带透明色的____的方式。
6)在列表控件中若要按多种方式对列表项排序,就要在调用____函数时,代入不同的回调函数的地址。在排序过程中排序算法逐一对比每个列表项,并回调对应的规则函数“请示”是否交换两个列表项。因此,这类回调函数(例如,byNumb等)叫作____函数。
7)回调函数必须是C格式的____或者____的类成员函数,这类函数中都没有____,因此,也就不能在回调函数中调用类的成员变量和成员函数。SortItems函数的第二个参数,是用于传递给回调函数的第____个参数的。利用这一关系,可以将一个类对象的地址以32位变量的方式传入回调函数中,这样才能间接地访问到类对象的成员。
8)对控件子窗口的颜色及绘图控制主要有以下3种方法。
①调用CWinApp::SetDialogBkColor函数,设置____颜色和____颜色。
②WM_ERASEBKGND的消息映射函数颜色控制的对象,只包括____的背景和文字颜色。
③WM_CTLCOLOR的消息映射函数颜色控制的对象,不但包括____背景和文字颜色,而且还包括静态文本控件、____以及____等。
9)如果父窗口内有一个或多个具有自绘属性的控件,则WM_PAINT消息映射函数执行后就立即执行____的消息映射函数OnDrawItem,对所有具有自绘属性的子窗口进行更新。执行基类函数____将回调路由,进入每个自绘子窗口关联的派生类的虚函数DrawItem中。
10)在一些具有自绘属性的列表类控件添加列表项时,产生____消息回调。在消息回调函数OnMeasureItem中,执行基类函数____将回调路由,进入每个自绘子窗口关联的派生类的虚函数MeasureItem中。
11)MFC内部也封装了一些“装饰好的”控件派生类,包括位图按钮(____类)、扩展组合控件(____类)、复选列表框(____类)和拖动列表框(____类)等。其中除____类外,都是通过自绘技术实现的。(https://www.daowen.com)
12)____类用于创建和操作不包括文字的纯位图按钮,每个位图按钮可以包含1~4种状态的位图。四种状态分别是____(未按下)、____(被按下)、____和____。第一张正常状态的位图是必须有的,其他三张位图可以不提供。
13)____类用于创建和操作扩展组合控件,每个列表项支持文字、图像和选中图像等,常用于在软件中开发类似头像列表的功能。在对话框资源编辑时,要注意选择工具栏的最后一个控件(____)。
14)请填写表10-6中CBitmapButton类的成员说明。
表10-6 CBitmapButton类的成员说明

15)请填写表10-7中CComboBoxEx类的成员说明。
表10-7 CComboBoxEx类的成员说明

16)请填写表10-8中CImageList类的成员说明。
表10-8 CImageList类的成员说明

(续)
