工具栏的制作暨CtoolbarEx类和CCustomizeDialog类使用说明

工具栏的制作暨CtoolbarEx类和CCustomizeDialog类使用说明

*************http://download1.csdn.net/down3/20070607/07151208144.doc**************************

实现像IE浏览器工具栏按钮一样的外观效果,不但有按钮图标,而且可以显示文字。文字的位置有两种显示方式:图标下方和右边。自定义工具栏对话框类CCustomizeDialog有两种功能:(1)工具栏按钮的自定义;(2)图标按钮文字显示位置的选择。
在本例中这两个类要配合使用,所以对其中类作了比较小的修改,使CCustomizeDialog类使用的工具栏指针类型为CtoolbarEx。
一、CtoolbarEx类编程步骤:
1、 向工程中添加ToolBarEx.cpp and ToolBarEx.h;
2、 在MainFrm.h头文件中包含ToolBarEx.h头文件,用CToolBarEx类对象取代CToolBar对象。
    #include "ToolBarEx.h"
. . .
 
// CToolBar      m_wndToolBar;
CToolBarEx    m_wndToolBar;
3、 在CMainFrame 类中,重载OnCreate函数(和框架中自动生成的一样,像本例中如果工具栏对象名不变,可以不用重写,只需加载自己的工具栏资源即可)
     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_MYTOOLBAR))
      {
           TRACE0("Failed to create toolbar/n");
           return -1;      // fail to create
      }
二、CCustomizeDialog类编程步骤
因为CToolBarEx类头文件中包含CCustomizeDialog类头文件,所以MainFrm.h中不需要包含CCustomizeDialog类头文件而直接使用。
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数种添加:
1、 //设置工具栏自定义对话框标题
m_wndToolBar.SetWindowText(_T("Standard"));
2、//使工具栏能够自定义
       m_wndToolBar.SetToolBarInfoForCustomization();
3、//删除初始化时没有选择的按钮
m_wndToolBar.GetToolBarCtrl().DeleteButton(m_wndToolBar.
CommandToIndex(ID_CUSTOMIZE));
4、// 为便于重置,标记出工具栏缺省状态
       m_wndToolBar.MarkDefaultState();
5、//保存工具栏状态
       m_wndToolBar.RestoreState();


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xuexiuyin/archive/2007/06/07/1642460.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值