下面代码是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);
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);
其它的就是在dc上...
我这个工具栏是对话框中的,显示是可以,只是想美化点。是创建CReBar这个对象,然后将工具栏添加进去的,这个CReBar对象似乎有显示背景图片的功能,但加入代码之后就是没显示。