Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Déplacer un élément du menu

0000002286     -      27/08/2017

La programmation décrite ici montre comment déplacer un élément du menu de Mercator Majuro.

L'exemple illustré ici montre comment déplacer le point de menu "4ème signalétique" du menu "Fenêtres" vers "Outils / Paramétres". (L'exemple est issu d'un dossier où le 4ème signalétique de Mercator est utilisé comme CMS d'un site web construit autour de Mercator. Les fiches "4ème signalétique" sont donc utilisées pour mémoriser du contenu HTML qui est affiché dans différentes pages du site web.)

Cette programmation consiste en un customizer Main, qui implémente l'interface MercatorUi.ICustomizers.IExec et dans lequel on détecte l'action MercatorUi.ICustomizers.ExecAction.MenuCreated.

Le code s'établit comme suit :

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {

        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.MenuCreated)
            {
                // rechercher le menu Fenêtres
                MercatorUi._BaseClasses.MenuElement meWindows = MercatorUi._Divers.MenuElementByText(MercatorUi._Divers.Iif_langue(MercatorUi.Globals.Langue, "&Windows", "Ven&sters", "Fe&nêtres"));
                if (meWindows == null)
                    return;

                // dans le menu Fenêtres, rechercher le menu correspondant au 4ème signalétique
                MercatorUi.Sig.Sig sigDest = MercatorUi.Sig._SigsStatic.SigByModule(MercatorUi.Sig._SigEnum.DEST);
                MercatorUi._BaseClasses.MenuElement meSigDest = MercatorUi._Divers.MenuElementByText(meWindows, sigDest.Caption[MercatorUi.Globals.Langue]);
                if (meSigDest == null)
                    return;

                // rechercher le menu Outils
                MercatorUi._BaseClasses.MenuElement meTools = MercatorUi._Divers.MenuElementByText(MercatorUi._Divers.Iif_langue(MercatorUi.Globals.Langue, "Extras", "Tools", "Tools", "Outils"));
                if (meTools == null)
                    return;

                // dans le menu Outils, rechercher le menu Paramètres
                MercatorUi._BaseClasses.MenuElement meParam = MercatorUi._Divers.MenuElementByText(meTools, MercatorUi._Divers.Iif_langue(MercatorUi.Globals.Langue, "Setup", "Setup", "Paramètres"));
                if (meParam == null)
                    return;

                meParam.SubItems.Add(meSigDest);
                meSigDest.Image = null;
            }
        }
    }
}