WEB开发网
开发学院软件开发VC 在工具栏按钮上添加文本标签 阅读

在工具栏按钮上添加文本标签

 2006-04-05 11:19:09 来源:WEB开发网   
核心提示: void CMainFrame::UpdateToolBar(BOOL bRecalc) //bRecalc用于指示是否重新计算最大尺寸 {CRect rect;SIZE sizeButton,sizeImage;if(bRecalc) {m_sizeMax.cx = 0;m_sizeMa

void CMainFrame::UpdateToolBar(BOOL bRecalc) //bRecalc用于指示是否重新计算最大尺寸 {
CRect rect;
SIZE sizeButton,sizeImage;
if(bRecalc) {
m_sizeMax.cx = 0;
m_sizeMax.cy = 0;
//取得最大尺寸
for (int i=0;i<m_wndToolBar.GetCount();i++) {
m_wndToolBar.SetButtonText(i,TextTips[i]);
m_wndToolBar.GetItemRect(i,rect);
m_sizeMax.cx = __max(rect.Size().cx, m_sizeMax.cx);
m_sizeMax.cy = __max(rect.Size().cy, m_sizeMax.cy);
}
}
//设置按钮尺寸 sizeButton.cx = m_bTextTips ? m_sizeMax.cx : 23;
sizeButton.cy = m_bTextTips ? m_sizeMax.cy : 22;
sizeImage.cx = 16;
sizeImage.cy = 15;
m_wndToolBar.SetSizes(sizeButton,sizeImage); ShowControlBar(&m_wndToolBar,FALSE,FALSE); ShowControlBar(&m_wndToolBar,TRUE,FALSE);
m_wndToolBar.RedrawWindow();
}
3.在CMainFrame::OnCreate()函数中,就在return 0;之前加入如下代码:

UpdateToolBar();///更新工具条
return 0;
4.实现控制菜单的功能,在菜单的命令处理函数中加入粗体代码:

void CMainFrame::OnToolTexttips()
  { m_bTextTips = !m_bTextTips; UpdateToolBar(FALSE);///FALSE参数表示不重新计算最大按钮 }
5.为了使WINDOWS系统参数改变后能够自动调整工具条大小,我们需要添加WM_SETTINGCHANGE消息处理函数OnSettingChange,并加入粗体代码:

void CMainFrame::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)
  { CFrameWnd::OnSettingChange(uFlags, lpszSection); UpdateToolBar();
}
至此,所有任务已经完成,请编译并运行该程序,单击TextTips按钮,OK!

注:本文假定您的程序已经加入了工具栏.

上一页  1 2 3 4 

Tags:工具栏 按钮 添加

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接