下面代码是OnInitDialog()中对话框初始化中添加的,是想让工具栏显示背景图片.
        m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,5,1);
        CBitmap bmp;
        for(int i=0;i<5;i++)
        {
                bmp.LoadBitmap(IDB_BITMAP1+i);
                m_ImageList.Add(&bmp,RGB(255,255,255));
                bmp.DeleteObject();
        }
        UINT nArray[5];
        for(int i=0;i<5;i++)
        {
                nArray[i]=ID_BUTTON1+i;
        }
        m_Toolbar.Create(this);
        m_Toolbar.SetButtons(nArray,5);
        m_Toolbar.SetSizes(CSize(39,39),CSize(32,32));
        m_Toolbar.GetToolBarCtrl().SetImageList(&m_ImageList);
        
        RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);以上可以正常显示,添加后面代码后,导致工具栏都显示不了.而且还想问一下,工具栏按怎么添加文字显示(就是直接显示在按钮下面  m_Toolbar.SetButtonText(0,_T("aaa")这语句似乎没用).        m_Rebar.Create(this);  //前面添加的一个CReBar成员 
        m_Rebar.AddBar(&m_Toolbar);
        m_Rebar.RedrawWindow();
        REBARBANDINFO info;
        info.cbSize=sizeof(info);
        info.fMask=RBBIM_BACKGROUND;
        m_Toolbar.ModifyStyle(0,TBSTYLE_TRANSPARENT);
        info.hbmBack=LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP6));
        m_Rebar.GetReBarCtrl().SetBandInfo(0,&info);

解决方案 »

  1.   

    http://hi.baidu.com/chenrui6321278/blog/item/b01639ca49594d8fc91768c1.html
      

  2.   

    获取工具栏的dc
    其它的就是在dc上...
      

  3.   

    也许是我没讲太明白:
    我这个工具栏是对话框中的,显示是可以,只是想美化点。是创建CReBar这个对象,然后将工具栏添加进去的,这个CReBar对象似乎有显示背景图片的功能,但加入代码之后就是没显示。
      

  4.   

    我不是派生的子类,而是用CReBar这个类。