VC中CToolBarCtrl的使用案例
void CBwGridPanel::CreateToolBar()
{
CRect rect;
GetWindowRect(rect);
CRect rectTool;
rectTool.top = 5;
rectTool.left = 5;
rectTool.right = rect.Width();
rectTool.bottom = rectTool.top + 22;
// 工具栏
_toolBar.Create(WS_VISIBLE | WS_CHILD, rect, this, 0x53251);
_toolBar.ModifyStyle(0, TBSTYLE_LIST);
// 载入按钮
UINT nBtnId[] = { IDC_PROGRESSPLAYER_NEW, IDC_PROGRESSPLAYER_NEWCHILD, IDC_PROGRESSPLAYER_DELETE,IDC_PROGRESSPLAYER_BIND, IDC_PROGRESSPLAYER_IMPORT, IDC_PROGRESSPLAYER_EXPORT,IDC_PROGRESSPLAYER_UP, IDC_PROGRESSPLAYER_DOWN,
IDC_PROGRESSPLAYER_SAVE};
CStringArray strBtnName;
strBtnName.Add(_T("新建"));
strBtnName.Add(_T("新建子集"));
strBtnName.Add(_T("删除"));
strBtnName.Add(_T("绑定"));
strBtnName.Add(_T("导入"));
strBtnName.Add(_T("导出"));
strBtnName.Add(_T("上移"));
strBtnName.Add(_T("下移"));
strBtnName.Add(_T("保存"));
int nNum = sizeof(nBtnId) / sizeof(nBtnId[0]);
for (int i = 0; i < nNum; i++)
{
// 加入按钮
TBBUTTON *pBtn = new TBBUTTON();
pBtn->fsState = TBSTATE_ENABLED;
pBtn->fsStyle = TBSTYLE_BUTTON;
pBtn->idCommand = nBtnId[i];
_toolBar.InsertButton(i, pBtn);
TBBUTTONINFO btnInfo;
btnInfo.pszText = strBtnName[i].GetBuffer();
btnInfo.fsState = TBSTATE_ENABLED;
btnInfo.fsStyle = TBSTYLE_BUTTON;
btnInfo.idCommand = nBtnId[i];
btnInfo.cbSize = sizeof(TBBUTTONINFO);
btnInfo.dwMask = TBIF_TEXT;
btnInfo.cchText = strBtnName[i].GetLength();
strBtnName[i].ReleaseBuffer();
_toolBar.SetButtonInfo(nBtnId[i],&btnInfo);
}
_toolBar.SetOwner(this);
_toolBar.MoveWindow(rectTool);
_toolBar.BringWindowToTop();
}
注意:TBBUTTONINFO 这个结构体如果属性没设置全则文字可能显示不出来。