Ce module montre comment ajouter une entrée dans la barre de menus de Mercator Majuro. (Cette programmation ne s'applique pas à Mercator Aruba).
Cet exemple montre :
- l'ajout de plusieurs entrées dans un menu personnalisé
- l'ajout d'une séparation (BeginGroup = true)
- la détermination d'un raccourci-clavier (ici Alt+Maj+C)
- l'association d'une image à un élément de menu (prévoir une image 16x16 pixels)
Cette programmation est construite autour d'un customizer Main qui implémente l'interface MercatorUi.ICustomizers.IExec.
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)
{
MercatorUi._BaseClasses.MenuElement meTest = new MercatorUi._BaseClasses.MenuElement("&Test");
Globals.StarterMainForm.Mainmenu.Items.Add(meTest);
System.Drawing.Image image = System.Drawing.Image.FromFile(@"M:\Mercator\ac0001-16.png"); // image 16x16 px
MercatorUi._BaseClasses.MenuElement meTest1 = new MercatorUi._BaseClasses.MenuElement("Test 1", image, null, meTest1_Click);
meTest1.Enabled = Convert.ToInt32(MercatorUi.Globals.CurrentUser["niveau"]) > 50;
meTest1.Shortcuts.Add(DevComponents.DotNetBar.eShortcut.ShiftAltC);
MercatorUi.Globals.Main.PlaceTouchesMajuro(DevComponents.DotNetBar.eShortcut.ShiftAltC, meTest1);
meTest.SubItems.Add(meTest1);
MercatorUi._BaseClasses.MenuElement meTest2 = new MercatorUi._BaseClasses.MenuElement("Test 2", "", null, meTest2_Click);
meTest2.BeginGroup = true;
meTest.SubItems.Add(meTest2);
}
}
void meTest1_Click(object sender, EventArgs e)
{
MercatorUi.Dialogs.Stop("Test 1 !");
}
void meTest2_Click(object sender, EventArgs e)
{
MercatorUi.Dialogs.Stop("Test 2 !");
}
}
}