VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 257|回复: 1

VC++基础班-[18]对话框的工具栏操作

[复制链接]
51_avatar_middle
online_admins Syc 发表于 2018-1-28 21:14:34 | 显示全部楼层 |阅读模式
------------------------------------------ Begin ----------------------------------------
①、MFC 中工具栏关联的类:CToolBarCtrl、CToolBar
②、CToolBarCtrl、CToolBar 两个类的区别:
CToolBar 和 CStatusBar 都是在 Control Bars 类中的封装,而 CStatusBarCtrl 和 CToolBarCtrl 都是在 Controls 类中的封装。
CToolBarCtrl 和 CStatusBarCtrl 它们只是简单地封装了 API,而没有增加附加的功能,
所以由它们所创建的工具栏和状态栏不会比 API 版本增加更多的功能。

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

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

④、创建工具栏:
  1. // H 文件
  2. CToolBar m_wndToolBar;
复制代码

  1. // CPP 文件的 OnInitDialog() 函数中:
  2. if(!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_ALIGN_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS, CRect(4, 4, 0, 0))
  3.         || !m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
  4. {
  5.         return FALSE;
  6. }
  7. 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> 响应函数的实现;
  1. void CMFCTestDlg::OnTestFunc()
  2. {
  3.         MessageBox(_T("成功了!"));
  4. }
复制代码


⑦、与菜单的关联;
⑧、按钮右侧显示文本:
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 -------------------------------------------

相关课程演示细节还请观看视频教程!
本套教程由VC驿站原创,提供视频教程+售后答疑服务!
教程介绍及详情请见:http://www.cctry.com/thread-17282-1-1.html
VC驿站Vip会员详情请见:http://www.cctry.com/static/vip/index.html




上一篇:VC++基础班-[17]对话框的菜单操作
下一篇:VC++基础班-[19]对话框的状态栏操作

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-10-20 17:46

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表