关于设置工具栏背景色,我是
对话框中添加工具栏,工具栏不是放在顶端,在(0,88,365,121)这个位置,运行没有问题,但是不是设置工具栏的背景颜色,默认为白色的,我想换种,怎么换?按钮要比图标大一点,所以按钮的非图标区域是白色,就是要设置这个颜色
程序代码
头文件中CToolBar m_Toolbar;
CImageList m_ImageList;
CImageList m_hotImageList;
OnInitDialog()中
m_ImageList.Create(66,27,ILC_COLOR24|ILC_MASK,1,1);//图片大小必须一致
// m_ImageList.SetBkColor(RGB(120,120,120));
m_hotImageList.Create(66,27,ILC_COLOR24|ILC_MASK,1,1);
CBitmap bmp;
for(int i=0;i<5;i++)
{
bmp.LoadBitmap(IDB_BITMAP1+i);
m_ImageList.Add(&bmp,RGB(120,120,120));
bmp.DeleteObject();
}
for(i=0;i<5;i++)
{
bmp.LoadBitmap(IDB_BITMAP6+i);
m_hotImageList.Add(&bmp,RGB(120,120,120));
bmp.DeleteObject();
}
UINT nArray[5];
for(i=0;i<5;i++)
{
nArray[i]=ID_BUTTON1+i;
}
m_Toolbar.CreateEx(this);//创建工具栏控件,CreateEx函数创建的工具栏,默认有浮动按钮属性
m_Toolbar.SetButtons(nArray,5);//创建六个工具按钮,并依次设置ID号,对应nArray数组的元素
CRect rectToolBar;
//得到按钮的大小
m_Toolbar.GetItemRect(0, &rectToolBar);
//设置按钮的大小
m_Toolbar.SetSizes(rectToolBar.Size(), CSize(66,27));
// m_Toolbar.SetSizes(CSize(73,33),CSize(66,27));//函数第一个是按钮大小,第二个是图像大小,按钮必须比图像要大,具体是按钮的要
//比图像的宽大7或者以上,高6
// m_Toolbar.LoadBitmap(IDB_BITMAP_BARBK);
// m_Toolbar.GetToolBarCtrl().AddBitmap(5,IDB_BITMAP11);
m_Toolbar.GetToolBarCtrl().SetImageList(&m_ImageList);
m_Toolbar.GetToolBarCtrl().SetHotImageList(&m_hotImageList);
CRect rect(0,88,365,121);//
m_Toolbar.MoveWindow(rect);//移动工具栏在父窗口的位置
m_Toolbar.ShowWindow(SW_SHOW);//显示工具栏