VC 在经典 MFC 框架下使用真彩色工具栏

在VS2008 SP1之后,虽然引入了BCG库支持CMFCToolbar实现真彩色工具栏,但在标准MFC框架中默认仍然使用16色工具栏。本文提供了一种方法,通过代码实现经典MFC框架下加载真彩工具栏。更多详情可参考相关链接。
摘要由CSDN通过智能技术生成

VS2008 sp1 以后有了 BCG 的包,可以使用 CMFCToolbar 来加载真彩色工具栏。但是在经典 MFC 框架下,默认还只是 16 色的工具栏,通过下面的方法就可以加载真彩工具栏了。直接上代码:


// MainFrm.h
protected: 
    CToolBar        m_wndToolBar;
    CImageList      m_ilToolbarNormalImageList;
    CImageList      m_ilToolbarDisabledImageList;

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    // ...

    if (m_ilToolbarNormalImageList.Create(16, 15, ILC_COLOR24 | ILC_MASK, 8, 1))
    {
        CBitmap bmToolbarNormalBitmap;
        if (bmToolbarNormalBitmap.LoadBitmap(IDR_MAINFRAME_256N))
        {
            m_ilToolbarNormalImageList.Add(&bmToolbarNormalBitmap, RGB(235, 233, 237));
            m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0U, reinterpret_cast<LPARAM>(m_ilToolbarNormalImageList.GetSafeHandle()));
            m_ilToolbarNormalImageList.Detach();
        }
        bmToolbarNormalBitmap.Det
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值