VC中使用GIF格式图片美化界面

来源:互联网 发布:政治学 知乎 编辑:程序博客网 时间:2024/06/10 04:53
  
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) );
原创粉丝点击