• MFC应用真彩色图标资源


    在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);

    效果见:Radio/Check混合MFC树控件实现 

    扩展阅读:一步步制作真彩工具条

  • 相关阅读:
    jichu
    scanf
    数位dp
    hdu 5667
    华东交通大学2018年ACM“双基”程序设计竞赛 K
    华东交通大学2018年ACM“双基”程序设计竞赛 D
    map
    次小生成树
    set
    c++11之为什么C++11引入了std::ref?
  • 原文地址:https://www.cnblogs.com/kekec/p/2299784.html
Copyright © 2020-2023  润新知