Ajouter un bouton dans le haut de l'éditeur HTML

0000003305     -      10/08/2025

Le code décrit ici permet d'ajouter un (ou plusieurs) bouton dans le haut de l'éditeur HTML (en version Core ou, pour la version classique, si l'option "Editeur HTML v2" est à OUI (id = USE_HTML2).

Ce développement utilise le méthode AddToolStripItems du MercatorUi.MovableControls.MovableHtmlBox2. Le paramètre attendu est un énuméré de ToolStripItems. Cela permet, par exemple, d'utiliser :

  • ToolStripButton : un simple bouton
  • ToolStripDropDownButton : un bouton avec une liste déroulante d'autres boutons (à placer dans DropDownItems)
  • ToolStripSplitButton : un bouton avec en plus une possibilité de déroulant
  • ToolStripSeparator : un séparateur (vertical)
  • ToolStripMenuItem : un élément de menu

Le code ci-dessous ajoute un bouton sans texte mais avec l'image correspondant à la ressource magic16. Il ajoute simplement "hello" dans le bas du contenu HTML.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using MercatorApi;
using MercatorUi;
using MercatorExtensions;
using MercatorDatabase;

// <CompileWithRoslyn />

namespace Action
{
    public class Customizer : MercatorUi.ICustomizers.IActionEngineCreated, MercatorUi.ICustomizers.IActionEngineClosed
    {
        public void ActionEngineCreated(MercatorUi.Engine.Crm.ActionEngine actionEngine)
        {
            actionEngine.ActionFormLoaded += actionEngine_ActionFormLoaded;
        }

        public void ActionEngineClosed(MercatorUi.Engine.Crm.ActionEngine actionEngine)
        {
            actionEngine.ActionFormLoaded -= actionEngine_ActionFormLoaded;
        }

        void actionEngine_ActionFormLoaded(object sender, EventArgs arg)
        {
            MercatorUi.Engine.Crm.ActionEngine actionEngine = (MercatorUi.Engine.Crm.ActionEngine)sender;
            foreach (MercatorUi.MovableControls.MovableHtmlBox2 htmlBox in actionEngine.ActionForm.MovableControls.Values.OfType<MercatorUi.MovableControls.MovableHtmlBox2>())
            {
                ToolStripButton toolStripButtonCustom = new ToolStripButton("", GraphicKit.CurrentGraphicKit.Images.magic16, (s, e) =>
                {
                    // ici le code du bouton
                    htmlBox.HtmlEditor.HtmlText += "<p>hello</p>";
                }) { AutoSize = true, Padding = new Padding(3) };

                ToolStripItem[] items = new ToolStripItem[2]
                {
                    new ToolStripSeparator(),
                    toolStripButtonCustom
                };
                htmlBox.AddToolStripItems(items);
            }
        }
    }
}


Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)