C++:世界上唯一能让程序员在配置环境|

香菇0_0

园龄:2年7个月粉丝:10关注:1

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 中国大陆许可协议进行许可。

posted @   香菇0_0  阅读(51)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.