欢迎来到天天文库
浏览记录
ID:40571342
大小:34.00 KB
页数:3页
时间:2019-08-04
《VC5中使用标签控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VC5中使用标签控件VC5中,标签控件是由CTabCtrl类来作数据支持的。做一个标签控件,主要有以下几个步骤: 一、在ResourceView标签页(就是VC5左面的标签控件第二项)的对话框中添加TABCTRL(比如取名为MYTABCTRL)。 二、在ClassWizard中为刚添加的标签控件关联上一个CTabCtrl变量(比如取名为mytab)。 三、为标签控件添加项目。 四、到此为止,一个标签控件就做好了。现在便可以用ClassWizard为标签控件添加消息映射了。 下面重点介绍为标签控件添加项目的方法。 CTabCtrl类有一个
2、成员函数InsertItem,它的原型是: BOOLInsertItem(intnItem,TC_ITEM*pTabCtrlItem); 其中第一个参数是加入项目的序号,此序号将在调用CTabCtrl的另一个成员函数GetCurSel()时作为返回值。与GetCurSel()对应的就是SetCurSel(intnItem),SetCurSel函数可改变标签控件当前选定的项目,其中nItem就是该项目的序号。 InsertItem的关键在于第二个参数PTabCtrlItem。这是一个指向TC_ITEM结构的指针。 TC_ITEM结构的定义如下
3、: typedefstruct_TC_ITEM { UINTmask;//标签控件的类型 UINTlnReserved1;//VC保留,勿用 UINTlnReserved2;//VC保留,勿用 LPSTRpszText;//标签控件的项目文字 intcchTextMax;//pszText的长度 intiImage;//标签控件的图形序号 LPARAMlParam;//用于交换的数据 }TC_ITEM; 在编程中,真正经常使用的只有mask、pszText、iImage三个成员变量。 1.mask 指定标签控件的类型。它可
4、以是以下三个值: TCIF_TEXTpszText成员有效 TCIF_IMAGEiImage成员有效 TCIF_PARAMiParam成员有效 如果要使用多个属性,应该用按位或运算符“
5、”连接。例如要使pszText和iImage成员同时有效,则用TCIF_TEXT
6、TCIF_IMAGE作为mask的值。 2.pszText 标签控件的项目文字,可直接赋予字符串值。此时标签控件的类型必须有TCIF_TEXT。 3.iImage 标签控件的图形序号,这是为标签控件添加图形所必须用到的一个成员变量。此标签控件必须有TCIF_IMAGE。
7、 在赋值时,只需给这三个(有时是两个)变量赋值就行了。 下面为大家介绍iImage的用法。 iImage中存储的是项目的图形序号。这个序号所对应的图形(可能为图标和位图)将被显示到标签控件项目文字的左边。这些图形可以是任意大小,但必须一样大。 标签控件的每一个项目的iImage组成了一个序列,这个序列所对应的图形是用另一个类CImageList来管理的。下面请看CImageList的用法。 我在使用CImageList时,只用到以下几个成员函数: 1.BOOLCreate(intcx,intcy,UINTnFlags,intnIniti
8、al,intnGrow); 这个函数建立一个含nGrow个图形(每个图形为cx长,cy高以nInitial为初值:通常为0)的空CImageList;其中有个nFlages参数,它用来指定图形的颜色属性,它的值只能为以下几个值中的一个: ILC_COLOR使用默认颜色(一般为16色) ILC_COLOR4使用4位色(16色) ILC_COLOR8使用8位色(256色) ILC_COLOR16使用16位色(64K色) ILC_COLOR24使用24位色(16M色) ILC_COLOR32使用32位色(4G色) ILC_COLORDDB
9、使用系统当前色 2.BOOLCreate(UINTnBitmapID,intcx,intnGrow,COLORREFcrMask); 这个函数是以nBitmapID所代表的位图(已在rc文件中定义,与定义工具条的位图相似)建立一个含有nGrow个图形(每个图形长为cx)的CImageList; 其中crMask指定位图中的什么颜色将被替换为黑色,一般就用黑色(RGB(0,0,0))。 3.intAdd(Cbitmap*pbmImage,COLORREFcrMask); 这个函数往CImageList中追加一个位图。其中nbmImage可以
10、通过先定义一个Cbitmap指针,再用Cbitmap的成员LoadBitman来得到。比如: Cbitmap*mvbit
此文档下载收益归作者所有