SpDevelop开发文档之"菜单"

菜单
<Menuitemset>
       <MenuItem Text="测试" Shortcut="T" RegName="MiTest" MenuPath="" Index="5" Visiable="true"/>
       <MenuItem Text="Hello" Shortcut="H" RegName="MiHello" MenuPath="MiTest" IconName="SpDevelop.Res.NewFile.ico" CommandRegName="TestCommand" CommandArgs="Hello"/>
</Menuitemset>

主菜单配置节点的属性
  1、 Text:        菜单显示的文本内容。
  2、 Shortcut: 菜单的快捷方式
  3、 RegName:菜单的注册名称,在SpDevelop系统中必须是唯一的,根据该注册名称,我们可以通过SpDevelop.SpApi.MainMenu.ShowMenuItem("", "MiTest", false);来控制测试菜单的显示。
  4、 MenuPath:菜单的上级目录,是第一级菜单时则为””,当是二级菜单是则为”一级菜单注册名称”,当为三级是则为” 一级菜单注册名称/二级菜单注册名称”,于此类推。
  5、 Index:      显示顺序
  6、 Visiable:   是否可见
  7、 IconName:菜单前的图标,比如有个项目名为SpDevelop,我们在其根目录下新建一个Res文件夹,并往这个文件夹中添加一个NewFile.ico文件,这是确记参看该图片文件的属性将其“生成操作”属性的值改成“嵌入的内容”,那么现在的IconName我们就可以设置为SpDevelop.Res.NewFile.ico
  8、 CommandRegName:命令名称,详细请见"命令" 
  9、 CommandArgs:命令参数;

通过以上的配置,即可在框架中生成一个测时候菜单。如下图:



     

框架对主菜单可通过SpDevelop.SpApi.MainMenu来调用

 /// <summary>

     /// 主菜单服务器

     /// </summary>

     public interface IMainMenuServer

     {

         /// <summary>

         /// 主菜单

         /// </summary>

         MenuControl MainMenu { get; set; }

 

         #region Add

         /// <summary>

         /// 添加菜单项

         /// </summary>

         /// <param name="menuPath">菜单路径,有菜单项注册名称和"/"组成,比如:File/New</param>

         /// <param name="item">菜单项</param>

         /// <returns>是否新增成功</returns>

         bool AddMenuItem(string menuPath, MenuCommand item);

         /// <summary>

         /// 添加菜单

         /// </summary>

         /// <param name="mctrl"></param>

         /// <returns></returns>

         bool AddMenu(MenuControl mctrl);

         /// <summary>

         /// 添加菜单

         /// </summary>

         /// <param name="menuConfig"></param>

         bool AddMenuItem(MenuItemConfig menuConfig);

         #endregion

 

         #region Get

         /// <summary>

         /// 获取菜单项

         /// </summary>

         /// <param name="menuPath">菜单路径,有菜单项注册名称和"/"组成,比如:File/New</param>

         /// <param name="itemRegName">要获取的菜单名</param>

         /// <returns>不存在对应的菜单项,则返回null</returns>

         MenuCommand GetMenuItem(string menuPath, string itemRegName);

         #endregion

 

         /// <summary>

         /// 显示菜单

         /// </summary>

         /// <param name="menuPath"></param>

         /// <param name="itemRegName"></param>

         /// <param name="bShow"></param>

         void ShowMenuItem(string menuPath,string itemRegName,bool bShow);

         /// <summary>

         /// 启用菜单

         /// </summary>

         /// <param name="menuPath"></param>

         /// <param name="itemRegName"></param>

         /// <param name="bEnable"></param>

         void EnableMenuItem(string menuPath,string itemRegName,bool bEnable);

         /// <summary>

         /// 显示菜单

         /// 如果要显示的菜单存在与不显示的菜单中,则该菜单不经过隐藏就直接显示

         /// </summary>

         /// <param name="unVisiables">不显示的菜单的注册名称的集合</param>

         /// <param name="visiables">要显示的菜单的注册名称的集合</param>

         void SwitchShowMenuItem(ArrayList unVisiables,ArrayList visiables);

      }

posted on 2007-04-19 18:24  spdevelop  阅读(128)  评论(0编辑  收藏  举报

导航