SpDevelop开发文档之"工具栏"
<ToolBarSet>
<ToolBar RegName="System" Text="系统" ShowIndex="0" IconBaseName="SpDevelop.Res" Visiable="true">
<ToolBarItem RegName="NewProject" ToolTip="新建项目" IconFullName =" SpDevelop.Res.NewProject.ico" CommandRegName="NewCommand" CommandArgs="Project" />
</ ToolBar>
</ ToolBarSet>
工具栏具一组的方式存在,一个按钮必须属于一个工具栏组。如上新建项目按钮是属于系统组。
工具栏配置节点的属性
1、 Text:文本内容,此内容不显示。
2、 RegName:菜单的注册名称,在SpDevelop系统中必须是唯一的,根据该注册名称,我们可以通过SpDevelop.SpApi.MainMenu.ShowMenuItem("", "MiTest", false);来控制测试菜单的显示。
3、 ShowIndex:显示顺序
4、 ToolTip:工具栏的提示文本信息
5、 Visiable:是否可见
6、 IconFullName:菜单前的图标,比如有个项目名为SpDevelop,我们在其根目录下新建一个Res文件夹,并往这个文件夹中添加一个NewFile.ico文件,这是确记参看该图片文件的属性将其“生成操作”属性的值改成“嵌入的内容”,那么现在的IconFullName我们就可以设置为SpDevelop.Res.NewFile.ico
7、 CommandRegName:命令名称,详细请见上节
8、 CommandArgs:命令参数;
框架对工具栏可通过SpDevelop.SpApi. ToolBars来调用
/// <summary>
/// 工具栏服务器接口
/// </summary>
public interface IToolBarServer
{
/// <summary>
/// 工具栏容器
/// </summary>
ReBar ReBar { get; set; }
/// <summary>
/// 没有显示的工具拦
/// </summary>
Hashtable NoShowedToolBars{ get; }
#region Get
/// <summary>
/// 根据工具栏的注册名称在所有工具栏中查找相同注册名称的工具栏
/// </summary>
/// <param name="toolBarRegName">工具栏的注册名称</param>
/// <returns>工具栏,如果没有找到则返回null</returns>
ToolBarEx GetToolBar(string toolBarRegName);
/// <summary>
/// 根据工具项的注册名称在所有工具栏上的所有工具项中找出相同注册名称的工具项
/// </summary>
/// <param name="toolBarItemRegName">工具项的注册名称</param>
/// <returns>工具项,如果没有找到则返回null</returns>
ToolBarItem GetToolBarItem(string toolBarItemRegName);
/// <summary>
/// 根据工具项的注册名称在所有工具栏上的所有工具项中找出相同注册名称的工具项
/// </summary>
/// <param name="toolBarItemRegName">工具项的注册名称</param>
/// <param name="toolBarRegName">输出,工具项所在工具栏的注册名称</param>
/// <returns>工具项,如果没有找到则返回null</returns>
ToolBarItem GetToolBarItem(string toolBarItemRegName, out string toolBarRegName);
#endregion
#region Enable
/// <summary>
/// 启用工具栏
/// </summary>
/// <param name="toolBarRegName">工具栏注册名称</param>
/// <param name="bEnable">是否启用</param>
void EnableToolBar(string toolBarRegName,bool bEnable);
/// <summary>
/// 启用工具项
/// </summary>
/// <param name="toolBarItemRegName">工具项注册名称</param>
/// <param name="bEnable">是否启用</param>
void EnableToolBarItem(string toolBarItemRegName,bool bEnable);
/// <summary>
/// 启用工具栏
/// </summary>
/// <param name="toolBarExRegName">工具栏注册名称</param>
/// <param name="toolBarItemRegName">工具项注册名称</param>
/// <param name="bEnable">是否启用</param>
void EnableToolBarItem(string toolBarExRegName,string toolBarItemRegName,bool bEnable);
#endregion
#region Show
/// <summary>
/// 显示工具栏
/// </summary>
/// <param name="toolBarRegName">工具栏注册名称</param>
/// <param name="bShow">是否显示</param>
void ShowToolBar(string toolBarRegName, bool bShow);
/// <summary>
/// 显示工具项
/// </summary>
/// <param name="toolBarItemRegName">工具项注册名称</param>
/// <param name="bShow">是否显示</param>
void ShowToolBarItem(string toolBarItemRegName, bool bShow);
/// <summary>
/// 显示工具项
/// </summary>
/// <param name="unVisiables">不显示的工具项的注册名称的集合</param>
/// <param name="visiables">要显示的工具项的注册名称的集合</param>
void SwitchShowToolBar(ArrayList unVisiables,ArrayList visiables);
#endregion
#region Add
/// <summary>
/// 添加工具栏
/// 如果已经存在相同注册名称的工具栏则在原来的工具栏上添加工具项
/// 否则新增工具栏.
/// </summary>
/// <param name="toolBar">工具栏</param>
void AddToolBar(ToolBarEx toolBar);
/// <summary>
/// 添加工具栏
/// 如果已经存在相同注册名称的工具栏则在原来的工具栏上添加工具项
/// 否则新增工具栏.
/// </summary>
/// <param name="reBar">工具栏</param>
void AddToolBar(ReBar reBar);
/// <summary>
/// 添加工具项
/// 系统将查找所以工具项,如果存在相同注册名称的工具项则在该已有工具项的事件链上添加事件
/// 否则在第一个工具栏上添加工具项
/// </summary>
/// <param name="tbItem">工具项</param>
void AddToolBarItem(ToolBarItem tbItem);
/// <summary>
/// 往指定注册名称的工具栏添加工具项
/// </summary>
/// <param name="toolBarRegName">工具栏注册名称</param>
/// <param name="tbItem">工具项</param>
void AddToolBarItem(string toolBarRegName, ToolBarItem tbItem);
/// <summary>
/// 往指定的工具栏添加工具项
/// </summary>
/// <param name="tb">工具栏</param>
/// <param name="tbItem">工具项</param>
void AddToolBarItem(ToolBarEx tb, ToolBarItem tbItem);
/// <summary>
/// 添加工具项
/// </summary>
/// <param name="tbConfig">配置信息</param>
void AddToolBar(ToolBarConfig tbConfig);
#endregion
}