VC中使用GIF格式图片美化界面
在VC中最方便使用的是BITMAP,即位图格式,但是位图往往不能达到所需的效果,这里介绍一种方法使用GIF来美化界面.
主要分为以下几个步骤:
1.
将 gif 的图像载入,用CImage
2.
通过CImage的HBITMAP操作得到HBitmap句柄
3.
用CImageList保存HBitmap
4.
在工具栏中使用CImageList
下面通过实例来解释:
1. 将 gif 的图像载入,用CImage
#include <string>
using namespace std;
string strPath = “.//img//pic1.gif”;
CImage image;
image.Load( strPath.c_str() );
2.
通过CImage的HBITMAP操作得到HBitmap句柄
CBitmap bitmap;
bitmap.Attach( HBITMAP( image ) );
3.
用CImageList 来保存CImage
CImageList imageListSmall;
imageListSmall.Create(16,16, ILC_COLOR24 | ILC_MASH, 24,24);
//注16,16是指image的大小, ILC_COLOR24是指所用的颜色为24色, ILC_MASK是指载入时可以进行特定颜色象素的屏蔽,24,24是指其初使大小,以及重新分配内存的大小
imageListSmall.Add(&bitmap, RGB(255,255,255) );
// RGB(255,255,255)表示屏蔽所有背景,这个是要与ILC_MASK一起使用的
4.
在工具栏中使用
if
(!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar/n");
return -1; // fail to create
}
//
设置图标
m_wndToolBar.GetToolBarCtrl().SetImageList(&imageListSmall
);
//
设置工具栏大小
CRect rectGen;
CRect rectTool;
m_wndToolBar.GetItemRect(0,&rectTool);
m_wndToolBar.SetSizes( CSize(rectTool.Width(),rectTool.Height()), CSize(32,32) );