iImage的用法

下面为大家介绍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(CBitmappbmImage,COLORREF crMask)
  这个函数往CImageList中追加一个位图。其中nbmImage可以通过先定义一个CBitmap指针,再用CBitmap的成员LoadBitman来得到。比如:
  CBitmapmvbitmap;
  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,其原型如下:
  CImageListSetImageList(CImageListpImageList)
  其中的pImageList正是指向我们刚才定制的CImageList对象的指针,而以前的iImage参数就是CImageList中的图形序号了。这样,一个带有图形的标签控件就做好了。

 

 

图像列表控件

图像列表的创建

由于 Create 函数的重载很多,故这里给出最常用的一个原型:

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

图像列表的基本操作

常见的图像列表的基本操作有:增加、删除和绘制等,成员函数:

int Add( CBitmap* pbmImage , CBitmap* pbmMask );

int Add( CBitmap* pbmImage , COLORREF crMask );

int Add( HICON hIcon );

BOOL Remove( int nImage );该函数用来从图像列表中删除一个由 nImage 指定的图像;

BOOL Draw( CDC* pdc, int nImage, POINT pt, UINT nStyle ); 该函数用来在由 pt 指定的位置处绘制一个图像。

HICON ExtractIcon( int nImage ); 该函数用来将 nImage 指定的图像扩展为图标。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值