CImageList简单使用

m_imagelist.Create(16,16,TRUE,2,2);//创建16*16的图标
m_imagelist.Add(AfxGetApp()->LoadIcon(IDR_DBTYPE));//向imagelist中加入图标
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
CImageList控件一般不能依靠本身使用,和其它控件一起配合使用。

imagelist还可以根据一幅大的位置,按相应的大小自动截取成小图填充在imagelist中。下面一个例子是将toolbar(资源号:uToolBar)上的图片截取后放在imagelist中
CBitmapbmp;
BITMAPbmpInfo;
bmp.LoadBitmap(uToolBar);
bmp.GetBitmap(&bmpInfo);
intnBtCountSum=pToolBar->GetToolBarCtrl().GetButtonCount();
inti,nBtCount=0;
for(i=0;i<nBtCountSum;i++)
{
//计算button的个数
//GetItemID:ThecommandIDofthebuttonorseparatorspecifiedbynIndex.
//SeparatorsreturnID_SEPARATOR
if(ID_SEPARATOR!=pToolBar->GetItemID(i))
nBtCount++;
}
m_nToolImageHeight=bmpInfo.bmHeight;
m_ImageList.Create(uToolBar,bmpInfo.bmWidth/nBtCount,bmpInfo.bmHeight,crMask);

ImageList还可以自己绘制:
CPointpt(rect.left,rect.top+(nItemHeight-m_nToolImageHeight)/2);
m_ImageList.Draw(pDC,lpItem->nImgIndex,pt,ILD_TRANSPARENT);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值