龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

在VC++工具栏按钮上添加文本标签[组图](3)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
4.用ClassWizard加入该菜单项的命令处理函数和接口更新处理函数,并加入以下代码: void CMainFrame::OnToolTexttips() { m_bTextTips = !m_bTextTips; } void CMainFrame::OnU

  4.用ClassWizard加入该菜单项的命令处理函数和接口更新处理函数,并加入以下代码:

  void CMainFrame::OnToolTexttips()
  {
    m_bTextTips = !m_bTextTips; } void CMainFrame::OnUpdateToolTexttips(CCmdUI* pCmdUI) {
    pCmdUI->SetCheck(m_bTextTips);
}

  三、功能实现

  以上完成了用户接口的编写工作,然后添加文本标签,步骤如下:

  1.在CMainFrame类的实现文件开始部分假如静态数组,用于存放文本标签,如下:

  #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__;
#endif static TCHAR *TextTips[] = {"新建","打开","存盘","","剪切","复制","粘贴","","打印","","关于",""};2.用ClassWizard为CMainFrame添加一成员函数:void CMainFrame::UpdateToolBar(BOOL bRecalc = TRUE);用于更新工具条

  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!

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

精彩图集

赞助商链接