CImageList 问题!? 看看例程中,那种一个位图中包括好几个图标,用的时候直接用其索引,怎么实现的呢?就是说,我怎么才能够将我已有多个位图(16*16)也组织起来,生成这样一个list,来管理呢,不会是直接画把最好给个例子 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我看还是在工程中导入一个新的位图IDB_IMGLIST_VIEW,将其大小设为64*16(假设有四个图标),你可以在vc的位图编辑器中将你的位图的一个一个选中,贴入到新位图中,注意,要让每个占16单位宽。然后在某个类——如视图类——中加入一个成员变量:CImageList m_imageList;最后在视图类的onceate函数中加上:if (!m_imageList.Create (IDB_IMGLIST_VIEW, 16, 1, RGB(0,255,0))) return -1;就行了。 HICON hIcon[n]//n是你的位图个数,是个常量int i;m_imageList.Create(16,16,0,8,8);hIcon[0] = AfxGetApp()->LoadIcon(IDI_YOURICON_1);//...hIcon[n] = AfxGetApp()->LoadIcon(IDI_YOURICON_n);for(i =0; i < n; i++){ m_imageList.Add(hIcon[i]);} 这是最笨的方法了!HICON hIcon[14]; CImageList imageList; CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1);//14个图标组成的位图 imageList.Create(24, 24, ILC_COLOR24 | ILC_MASK, 14, 1); imageList.Add(&bitmap, RGB(0, 255, 0));//第二个参数为透明颜色的说 imageList.SetBkColor(CLR_NONE); HINSTANCE HINST=AfxGetResourceHandle(); for (int i = 0; i < 14; i++) { m_Icon[i] = imageList.ExtractIcon(i);//分解图标,以后就随你用了 } MFC:高分求教win7下右键菜单问题 CToolTip的问题 聚力传媒,也就是PPLIVE这个公司如何啊? 集思广益,算法思想讨论! 菜鸟求解数据结构题---递归算法 关于菜单的背景。。!? VC安装后不能正常运行,请指点,迷惑\郁闷ing!!! 如果打印,程序应该用什么映射模式?????急啊!!!!!! 如何从扫描仪中读图,欢迎讨论 随便看看:小问题哟! 诸位高手请推荐一本学DDK的入门书籍 怎样用postmessage来发这个键盘消息
然后在某个类——如视图类——中加入一个成员变量:
CImageList m_imageList;
最后在视图类的onceate函数中加上:
if (!m_imageList.Create (IDB_IMGLIST_VIEW, 16, 1, RGB(0,255,0)))
return -1;
就行了。
int i;
m_imageList.Create(16,16,0,8,8);
hIcon[0] = AfxGetApp()->LoadIcon(IDI_YOURICON_1);
//...
hIcon[n] = AfxGetApp()->LoadIcon(IDI_YOURICON_n);for(i =0; i < n; i++)
{
m_imageList.Add(hIcon[i]);
}
HICON hIcon[14];
CImageList imageList;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);//14个图标组成的位图
imageList.Create(24, 24, ILC_COLOR24 | ILC_MASK, 14, 1);
imageList.Add(&bitmap, RGB(0, 255, 0));//第二个参数为透明颜色的说
imageList.SetBkColor(CLR_NONE); HINSTANCE HINST=AfxGetResourceHandle();
for (int i = 0; i < 14; i++)
{
m_Icon[i] = imageList.ExtractIcon(i);//分解图标,以后就随你用了
}