int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1; // 往工具条上面添加按钮的
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.SetButtons(toolbar, 4))
//!m_wndToolBar.SetButtons(toolbar, sizeof(toolbar) / sizeof(unsigned int)))
{
return -1;      // fail to create
}

SIZE szImage = {32, 29}, szButton = {40, 35}; m_wndToolBar.SetSizes(szButton, szImage);
m_wndToolBar.GetToolBarCtrl().AddBitmap(1, IDB_CONTACT);
m_wndToolBar.GetToolBarCtrl().AddBitmap(2, IDB_CROSS);
m_wndToolBar.GetToolBarCtrl().AddBitmap(3, IDB_CONTACT); //不显示 if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
  sizeof(indicators)/sizeof(UINT)))
{
return -1;      // fail to create
}

}

解决方案 »

  1.   

    工具条按钮的id定义如下。。
    static UINT toolbar[] =
    {
    ID_LEFTVIEW,
    ID_LOWVIEW,
    ID_TOOLBAR_IPREGEDITINFO
    };
      

  2.   

    // Set up hot bar image lists.
    CImageList imageList;
    CBitmap bitmap;
    // Create and set the normal toolbar image list.
    imageList.Create(16, 16, ILC_COLORDDB|ILC_MASK, 13, 1); bitmap.LoadBitmap(IDB_TOOLBAR);
    imageList.Add(&bitmap, RGB(255,0,255));
    bitmap.Detach(); m_wndToolBar.SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList.m_hImageList);
    imageList.Detach();
      

  3.   

    To huanyun(无妻徒刑) :
    你的方法可以实现显示,可所导入的bmp的底色不是透明显示的,你是怎么处理的?
    而用AddBitmap图片是透明的
      

  4.   

    知道了,修改imageList.Add(&bitmap, RGB(255,0,255));后面的颜色值为图片的背景颜色值
    即可屏蔽掉。
    此值用画笔的“颜色自定义”对话框机可看到。
    多谢。。