/// <summary> /// Agrega una entrada a un Menu de SBO /// <alert class="note"> /// <para>Para mayor sobre los tipo de menu referencia de los tipos revisar la ayuda del SDK de SBO</para> /// </alert> /// </summary> /// <param name="UniqueId">Identificador Unico del Menu que serĂ¡ creado</param> /// <param name="Name">Nombre que sera mostrado en SBO</param> /// <param name="PrincipalMenuId">Identificador Unico del Menu que contendra la nueva entrada</param> /// <param name="type">Tipo de Menu</param> private void CreaMenu(string uniqueId, string name, string principalMenuId, SAPbouiCOM.BoMenuType type) { SAPbouiCOM.MenuCreationParams objParams; SAPbouiCOM.Menus objSubMenu; int posmenu = 0; try { objSubMenu = Conexiones.Conexion_SBO.m_SBO_Appl.Menus.Item(principalMenuId).SubMenus; if (Conexiones.Conexion_SBO.m_SBO_Appl.Menus.Exists(uniqueId) == false) { posmenu = objSubMenu.Count; objParams = (SAPbouiCOM.MenuCreationParams)Conexiones.Conexion_SBO.m_SBO_Appl.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_MenuCreationParams); objParams.Type = type; objParams.UniqueID = uniqueId; objParams.String = name; objParams.Position = posmenu + 1; if (uniqueId == "SEI_FELP") { string sPath = null; sPath = Application.StartupPath.ToString(); sPath += "\\"; sPath = sPath + "Icono\\lyc.jpg"; objParams.Image = sPath; } objSubMenu.AddEx(objParams); } } catch (Exception ex) { Msj_Appl.Errores(13, "CreaMenu() " + ex.Message); } }
private void CreateMenuItem(SAPbouiCOM.BoMenuType mType, string uniqueID, string desc, int position, string menuItemId) { SAPbouiCOM.Menus Menu = null; SAPbouiCOM.MenuItem MenuItem = null; Menu = oApplication.Menus; string rootPath = System.Windows.Forms.Application.StartupPath; SAPbouiCOM.MenuCreationParams CreationPara = null; CreationPara = (SAPbouiCOM.MenuCreationParams)(oApplication.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_MenuCreationParams)); MenuItem = oApplication.Menus.Item(menuItemId); try { Menu = MenuItem.SubMenus; CreationPara.Type = mType; CreationPara.UniqueID = uniqueID; CreationPara.String = desc; CreationPara.Position = position; Menu.AddEx(CreationPara); } catch (Exception ex) { string s = ex.ToString(); //Global.SapApplication.MessageBox(ex.Message, 1, "Ok", "", ""); } }
public static void Add(string fatherUID, string menuUID, string name, SAPbouiCOM.BoMenuType oType = SAPbouiCOM.BoMenuType.mt_STRING, int position = -1, System.IO.FileInfo image = null) { klib.Shell.WriteLine(R.Project.ID, LOG, $"SUI - Creating the menu {name} ({fatherUID}.{menuUID})"); var oMenus = Conn.UI.Menus; var oCreationPackage = Conn.UI.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_MenuCreationParams) as SAPbouiCOM.MenuCreationParams; // Remove o menu atual if (oMenus.Exists(menuUID)) { oMenus.RemoveEx(menuUID); } // Obtem o menu pai (caso exista) if (!String.IsNullOrEmpty(fatherUID)) { if (!oMenus.Exists(fatherUID)) { throw new SUIException(1, "Menu father doesn't exists"); } else { oMenus = Conn.UI.Menus.Item(fatherUID).SubMenus; } } if (position < 0) { position = oMenus.Count; } oCreationPackage.Type = oType; oCreationPackage.UniqueID = menuUID; oCreationPackage.String = name; oCreationPackage.Enabled = true; oCreationPackage.Position = position; // TODO Validate // Supported image formats are BMP and JPG. Image size should be 16 - by - 16 pixels for the menu bar, and 26 - by - 18 pixels for the main menu. // The transparent icon: R192/G220/B192 //oCreationPackage.Image = MenuImagePath; if (image != null) { oCreationPackage.Image = image.FullName; } oMenus.AddEx(oCreationPackage); }
/// <summary> /// Method for creating Menu /// </summary> /// <param name="parentUID"></param> /// <param name="targetMenuUID"></param> /// <param name="menuType"></param> /// <param name="menuCaption"></param> /// <param name="position"></param> /// <param name="image"></param> void CreateMenuItem(string parentUID, string targetMenuUID, SAPbouiCOM.BoMenuType menuType, string menuCaption, [Optional] int position, [Optional] string image) { SAPbouiCOM.MenuItem targetMenu = null; try { SAPbouiCOM.Menus oMenus = PublicVariable.oApplication.Menus; if (oMenus.Exists(parentUID) == false) { PublicVariable.oApplication.StatusBar.SetText(String.Format("Parent Menu {0} not found", parentUID), SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); } if (oMenus.Exists(targetMenuUID)) { oMenus.RemoveEx(targetMenuUID); } SAPbouiCOM.MenuItem parentMenu = oMenus.Item(parentUID); SAPbouiCOM.Menus subMenus = parentMenu.SubMenus; SAPbouiCOM.MenuCreationParams oMCP = (SAPbouiCOM.MenuCreationParams)PublicVariable.oApplication.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_MenuCreationParams); oMCP.UniqueID = targetMenuUID; oMCP.Type = menuType; oMCP.String = menuCaption; oMCP.Position = position; oMCP.Image = image; targetMenu = subMenus.AddEx(oMCP); } catch (Exception ex) { PublicVariable.oApplication.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } }