关于在工具条中的按钮如何即显示图标又显示文字

blackeye527 blackeye527 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想在工具条实现 图标+文字 的效果,即按钮上有图标又有文字,如下代码为什么不行?是从一个Demo中copy的,Demo中行,在我得工程中却

不行,在工程的创建中有什么地方需要设置吗?
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
...

m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
...

//设置按钮上的文字
m_wndToolBar.SetButtonText(0," 控制 ");

/////////////调整工具条/////////////////
CRect rc(0, 0, 0, 0);
CSize sizeMax(0, 0);
CToolBarCtrl& bar = m_wndToolBar.GetToolBarCtrl();
//循环取得按钮最大的尺寸
for (int nIndex = bar.GetButtonCount() - 1; nIndex >= 0; nIndex--)
{
bar.GetItemRect(nIndex, rc);

rc.NormalizeRect();
sizeMax.cx = __max(rc.Size().cx, sizeMax.cx);
sizeMax.cy = __max(rc.Size().cy, sizeMax.cy);
}
//设置工具条按钮的尺寸
m_wndToolBar.SetSizes(sizeMax, CSize(16,15));

}

如过在创建m_wndToolBar中加入TBSTYLE_LIST属性,代码如下,则文字在图标的后面,是并排的,并非我想要的文字在图标下方的效果。
if (!m_wndToolBar.CreateEx(this, TBSTYLE_LIST|TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

高手指教,谢先!
...全文
评论 5
收藏 已收藏
分享
返回顶部
blackeye527
界面 15,976 成员 115,866 内容