m_bitmap.LoadBitmap(IDB_IMAGELIST);
m_imageList.Create(24, 24, ILC_COLOR24|ILC_MASK, 4, 1);
m_imageList.Add(&m_bitmap, RGB(0,255,0));
HICON hIcon = m_imageList.ExtractIcon(0);
m_btn2.SetIcon(CSize(24,24), hIcon);
DestroyIcon(hIcon);
不明白是怎样把这副位图截成一个一个图标?为什么
icon 大小 24 X 24 是这句代码定义的 m_imageList.Create(24, 24
这样,你使用一个大的图片 24 X ( 24 X 5 ) ,就可以分成 5 个 24 X 24 图片。
m_imageList.ExtractIcon 会按照索引 i 来找到从大图片的哪个位置开始读取 24 X 24 大小的图片。
在这里可能不好理解,但是在WEB优化上却是喜闻乐见的方式,因为你要准备5个图片的话,就要下载5次,而只准备一个大的图片,则只下载一次,客户端会根据索引从大图片上读取每部分的小图片。
谢谢,有道理