工具栏的创建

①、MFC 中工具栏关联的类:CToolBarCtrl、CToolBar
②、CToolBarCtrl、CToolBar 两个类的区别:
CToolBar 和 CStatusBar 都是在 Control Bars 类中的封装,而 CStatusBarCtrl 和 CToolBarCtrl 都是在 Controls 类中的封装。
CToolBarCtrl 和 CStatusBarCtrl 它们只是简单地封装了 API,而没有增加附加的功能,
所以由它们所创建的工具栏和状态栏不会比 API 版本增加更多的功能。

它们也不能移动或被用户停靠或者垂直对齐。它们仅能用于在控制条内更方便地设置并控制按钮和窗格,
所以,为了得到一些所希望的功能就必须使用 CToolBar 和 CStatusBar 类来进行工具栏和状态栏的创建。

③、插入并编辑工具栏资源;
改变颜色,调整大小、距离产生分组

④、创建工具栏:
// H 文件
CToolBar m_wndToolBar;

// CPP 文件的 OnInitDialog() 函数中:
if(!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_ALIGN_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS, CRect(4, 4, 0, 0))
 || !m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
{
 return FALSE;
}
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); //定位工具条

⑤、工具栏的美化:CTrueColorToolBar 类的使用
http://www.cctry.com/thread-21684-1-1.html
1> 将类文件复制到工程目录,并添加到工程中;
2> 将工具栏图片资源复制到工程的 res 目录并添加到工程中;
3> 重新定义 CToolBar m_wndToolBar; 为 CTrueColorToolBar m_wndToolBar;
4> 加载工具栏位图:m_wndToolBar.LoadTrueColorToolBar(116, IDB_BITMAP1);

⑥、为工具栏按钮添加消息响应函数:
1> 主对话框类的头文件中进行工具栏按钮的消息响应函数的声明:afx_msg void OnTestFunc();
2> 在cpp文件中进行消息映射的添加:ON_COMMAND(ID_TB_ONE, &CMFCTestDlg::OnTestFunc)
vc6.0 的方式:ON_COMMAND(ID_TB_ONE, OnTestFunc)

3> 响应函数的实现;
void CMFCTestDlg::OnTestFunc()
{
 MessageBox(_T("成功了!"));
}

⑦、与菜单的关联;
⑧、按钮右侧显示文本:
m_wndToolBar.ModifyStyle(0, BTNS_SHOWTEXT|TBSTYLE_EX_MIXEDBUTTONS|TBSTYLE_LIST);
m_wndToolBar.SetButtonText(0, _T("One"));


SDK实现工具栏和状态务栏:http://www.cctry.com/thread-24381-1-1.html

------------------------------------- End -------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值