U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Een knop toevoegen aan de bovenkant van de HTML-editor

0000003305     -      10-08-2025

De hier beschreven code voegt een (of meer) knoppen toe aan de bovenkant van de HTML-editor (in de Core-versie of, voor de klassieke versie, als de optie "HTML-editor v2" is ingesteld op JA (id = USE_HTML2).

Deze ontwikkeling gebruikt de methode AddToolStripItems van MercatorUi.MovableControls.MovableHtmlBox2. De verwachte parameter is een opsomming van ToolStripItems. Dit laat toe om bijvoorbeeld volgende elementen te gebruiken:

  • ToolStripButton : een eenvoudige knop
  • ToolStripDropDownButton : een knop met een dropdownlijst van andere knoppen (toe te voegen aan DropDownItems)
  • ToolStripSplitButton : een knop met een extra dropdownmogelijkheid
  • ToolStripSeparator : een scheidingsteken (verticaal)
  • ToolStripMenuItem : een menu item

De onderstaande code voegt een knop toe zonder tekst maar met de afbeelding die overeenkomt met de magic16 resource. Het voegt eenvoudig "hello" toe aan de onderkant van de HTML-inhoud.

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) =>
                {
                    // hier de knopcode
                    htmlBox.HtmlEditor.HtmlText += "<p>hello</p>";
                }) { AutoSize = true, Padding = new Padding(3) };

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


Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)