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 这个结构体如果属性没设置全则文字可能显示不出来。
本文作者:香菇0_0
本文链接:https://www.cnblogs.com/Xiang-gu/p/16512347.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步