WEB开发网
开发学院软件开发VC VC5中使用标签控件 阅读

VC5中使用标签控件

 2008-11-13 19:32:27 来源:WEB开发网   
核心提示: TCIF_IMAGE iImage成员有效TCIF_PARAM iParam成员有效如果要使用多个属性,应该用按位或运算符“|”连接,VC5中使用标签控件(2),例如要使pszText和iImage成员同时有效,则用TCIF_TEXT|TCIF_IMAGE作为mas

TCIF_IMAGE iImage成员有效

TCIF_PARAM iParam成员有效

如果要使用多个属性,应该用按位或运算符“|”连接。例如要使pszText和iImage成员同时有效,则用TCIF_TEXT|TCIF_IMAGE作为mask的值。

2.pszText

标签控件的项目文字,可直接赋予字符串值。此时标签控件的类型必须有TCIF_TEXT。

3.iImage

标签控件的图形序号,这是为标签控件添加图形所必须用到的一个成员变量。此标签控件必须有TCIF_IMAGE。

在赋值时,只需给这三个(有时是两个)变量赋值就行了。

下面为大家介绍iImage的用法。

iImage中存储的是项目的图形序号。这个序号所对应的图形(可能为图标和位图)将被显示到标签控件项目文字的左边。这些图形可以是任意大小,但必须一样大。

标签控件的每一个项目的iImage组成了一个序列,这个序列所对应的图形是用另一个类CImageList来管理的。下面请看CImageList的用法。

我在使用CImageList时,只用到以下几个成员函数:

1.BOOL Create(int cx,int cy,UINT nFlags,int nInitial,int nGrow);

这个函数建立一个含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 使用系统当前色

2.BOOL Create(UINT nBitmapID,int cx,int nGrow,COLORREF crMask);

这个函数是以nBitmapID所代表的位图(已在rc文件中定义,与定义工具条的位图相似)建立一个含有nGrow个图形(每个图形长为cx)的CImageList;

其中crMask指定位图中的什么颜色将被替换为黑色,一般就用黑色(RGB(0,0,0))。

3.int Add(CBitmap*pbmImage,COLORREF crMask);

这个函数往CImageList中追加一个位图。其中nbmImage可以通过先定义一个CBitmap指针,再用CBitmap的成员LoadBitman来得到。比如:

CBitmap*mvbitmap;

mvhitmap=new CBitmap();

mvbitmap->LoadBitmap(MYPICTURE); // MYPICTURE是已定义的位图资源crMask参数与前面相同。

4.int Add(HICON hIcon):

这个函数往CImageList中追加一个图标。

其中hIcon可以用AfxGetApp()->LoadIcon(UINT nIDResource)来得到。如:AfxGetApp()->LoadIcon(MYICON);//其中MYICON是已定义的图标资源,当CImageList定制好后,调用CTabCtrl的成员函数SetImageList,其原型如下:

CImageList*SetImageList(CImageList*pImageList);

其中的pImageList正是指向我们刚才定制的CImageList对象的指针,而以前的iImage参数就是CImageList中的图形序号了。这样,一个带有图形的标签控件就做好了。

关于标签控件,在一般编程中我们大约只用到以上函数。上面是我对标签控件编程的心得,希望能与大家分享。

上一页  1 2 

Tags:VC 使用 标签

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接