我是用如下方法来创建工具栏,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);
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);
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位真彩色