您的位置:首页 > 其它

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

2010-05-22 23:32 344 查看
工具栏的制作暨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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: