在MFC编程的过程中,我们经常会使用icon和bitmap,例如:给树节点加上一个图标,工具条,按钮上放置一个图片等。
但VC的资源编辑器是不支持真彩色图标。为了能制作真彩色图标,需要如下三步:
(1)使用其他图像处理工具(例如PS)制作真彩色ICO/BMP
(2)将ICO/BMP作为资源加入到VC中,并为其设置一个ID号
(3)使用CImageList将这些资源加载到内存以供树、工具条、按钮等使用,细节如下 【关键】
// 注:CImageList m_imgList; // CTreeCtrl m_wndLayerTree; // ---------------------------------------------------------- HBITMAP hbm = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP_LIST), IMAGE_BITMAP, //按位图格式 0,0, // cx,cy LR_CREATEDIBSECTION | LR_LOADMAP3DCOLORS ); CBitmap bm; bm.Attach(hbm); // 使用ILC_MASK开启透明处理 m_imgList.Create(16,16,ILC_COLOR24 | ILC_MASK,21,1); // 透明色设为 RGB(192,192,192) m_imgList.Add(&bm, RGB(192,192,192)); m_wndLayerTree.SetImageList(&m_imgList,TVSIL_NORMAL);
扩展阅读:一步步制作真彩工具条