Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        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", "", "");
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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);
            }
        }