TBBUTTON button[3];
m_ImageList.Create(128,128,ILC_COLOR32|ILC_MASK,0,0);
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_FILES));
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CMD));
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_KEYBOARD));
//m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON4));
m_TBarCtrl.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,12000);
m_TBarCtrl.SetImageList(&m_ImageList);
for(int i=0;i<3;i++)
{
button[i].fsState=TBSTATE_ENABLED;
button[i].fsStyle=TBSTYLE_BUTTON;
button[i].iBitmap=i;
}
m_TBarCtrl.AddButtons(1,&button[1]);//崩溃了
m_TBarCtrl.AutoSize();
m_TBarCtrl.SetStyle(TBSTYLE_FLAT|CCS_TOP);
这么写还是不对啊&button这么写编译不过去
我换了一种方法,按钮加上去了,但是图标没有加上去,bitmap不能加载icon图标么? m_ImageList.Create(16,16,ILC_COLOR24|ILC_MASK,1,1);//图片大小必须一致
CBitmap bmp;
for(int i=0;i<3;i++)
{
bmp.LoadBitmap(IDI_ICON_TEST);
m_ImageList.Add(&bmp,RGB(255,255,255));
bmp.DeleteObject();
}
UINT nArray[6];
for(i=0;i<3;i++)
{
nArray[i]=ID_BUTTON1+i;
}
m_Toolbar.CreateEx(this);//创建工具栏控件,CreateEx函数创建的工具栏,默认有浮动按钮属性
m_Toolbar.SetButtons(nArray,6);//创建六个工具按钮,并依次设置ID号,对应nArray数组的元素
m_Toolbar.SetSizes(CSize(60,56),CSize(16,16));//函数第一个是按钮大小,第二个是图像大小,按钮必须比图像要大,具体是按钮的要
//比图像的宽大7或者以上,高6
m_Toolbar.GetToolBarCtrl().SetImageList(&m_ImageList);//设置图像
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
bmp.GetBitmap(&bmpObj); UINT nFlags = ILC_MASK; nFlags |= (theApp.m_bHiColorIcons) ? ILC_COLOR24 : ILC_COLOR4; m_ClassViewImages.Create(16, bmpObj.bmHeight, nFlags, 0, 0);
m_ClassViewImages.Add(&bmp, RGB(255, 0, 0));
可以加在的
TBBUTTON button[3];
m_ImageList.Create(128,128,ILC_COLOR32|ILC_MASK,0,0);
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_FILES));
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_CMD));
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_KEYBOARD));
//m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON4));
m_TBarCtrl.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,12000);
m_TBarCtrl.SetImageList(&m_ImageList);
for(int i=0;i<3;i++)
{
button[i].fsState=TBSTATE_ENABLED;
button[i].fsStyle=TBSTYLE_BUTTON;
button[i].iBitmap=i;
}
m_TBarCtrl.AddButtons(1,button);//崩溃了
m_TBarCtrl.AutoSize();
m_TBarCtrl.SetStyle(TBSTYLE_FLAT|CCS_TOP);
这样的为啥不行嫩?我加载的icon,感觉没问题呀。
button[i].dwData=NULL;
button[i].iString=NULL;