我是用如下方法来创建工具栏,IDB_BITMAP2位图是20像素高的。可是好像用vc作的程序的工具栏的高度只能是16像素高的。按这种方式只能显示上面16像素部分。应该在那里设置才可以使用高于16像素的位图来创建工具栏呀?
if (!m_wndChildToolBar.Create(this,WS_CHILD | WS_VISIBLE | CBRS_SIZE_DYNAMIC | CBRS_TOP | CBRS_FLYBY | CBRS_FLOATING) ||
        !m_wndChildToolBar.LoadBitmap(IDB_BITMAP2) ||
        !m_wndChildToolBar.SetButtons(ChildToolBar, sizeof(ChildToolBar)/sizeof(UINT)))
    {
        TRACE0("Failed to create toolbar\n");
        return -1;      // fail to create
    }
    m_wndChildToolBar.SetBarStyle(m_wndChildToolBar.GetBarStyle() |
        CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
    m_wndChildToolBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY| CBRS_FLOAT_MULTI);
    DockControlBar(&m_wndChildToolBar);

解决方案 »

  1.   

    增加成员变量: CImageList m_ImageList;在后面加一段: CBitmap bm;
    bm.LoadBitmap(IDB_IDB_BITMAP2); m_ImageList.Create(32, 32, ILC_COLOR24 | ILC_MASK, sizeof(ChildToolBar)/sizeof(UINT), 0);
    m_ImageList.Add(&bm, RGB(192, 192, 192)); m_wndChildToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);
    这样可使用任意大小、任意颜色数!
    这里是32x32,24位真彩色
      

  2.   

    在运行时,可以用SetSizes来设置按钮的大小。