Een element verplaatsen in het menu

0000002286     -      27-08-2017

Deze code beschrijft en toont hoe men een item in het menu van Mercator Majuro kan wijzigen.

Het onderstaande voorbeeld toont hoe je een menu-item kan aanspreken, en de locatie hiervan kan veranderen. In het voorbeeld tonen we hoe je een menu-item uit het menu "Venster" kan verplaatsen naar het menu "Tools". Het voorbeeld betreft een dossier waar het 4e informatiebestand van Mercator gebruikt wordt als CMS van een website gebouwd rond Mercator. De fiches van het 4e informatiebestand worden dus gebruikt om de HTML-inhoud op te slaan die weergegeven wordt op de verschillende pagina's van de website.

Deze code bevat de Main customizer, die de interface MercatorUi.ICustomizers.IExec geïmplementeerd heeft gekregen, waarin de actie MercatorUi.ICustomizers.ExecAction.MenuCreated wordt gedetecteerd.

De code is als volgt :

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)
            {
                // Opzoeken en initialiseren van het menu "Venster"
                MercatorUi._BaseClasses.MenuElement meWindows = MercatorUi._Divers.MenuElementByText(MercatorUi._Divers.Iif_langue(MercatorUi.Globals.Langue, "&Windows", "Ven&sters", "Fe&nêtres"));
                if (meWindows == null)
                    return;

                // In het Venster-menu zoeken naar het corresponderende menu met het 4e informatiebestand.
                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;

                // Menu Tools opzoeken en initialiseren
                MercatorUi._BaseClasses.MenuElement meTools = MercatorUi._Divers.MenuElementByText(MercatorUi._Divers.Iif_langue(MercatorUi.Globals.Langue, "Extras", "Tools", "Tools", "Outils"));
                if (meTools == null)
                    return;

                // In het Tools-menu, het menu Setup opzoeken en initialiseren.
                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;
            }
        }
    }
}