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

Changer la couleur d'un onglet dans la fiche client

0000002014     -      13/06/2013

Cette programmation est rendu obsolète par la version 8.0.78 de MercatorUi.dll. En effet, en standard, dans les écrans paramétrables, il est possible de

  • colorer l'onglet : via la propriété TabColor (les couleurs disponibles sont celles de l'énumération DevComponents.DotNetBar.eTabItemColor)
  • colorer la page avec la même couleur que l'onglet : via la propriété PageColoredAsTab à mettre à true


Ce customizer client (SigCli) permet de changer la couleur d'un onglet dans la fiche client. Cet onglet doit être identifié par sa propriété ID visible en mode "paramétrage". Ce customizer implémente l'interface MercatorUi.ICustomizers.IFormLoadCustomizer.

Le code est le suivant :

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

namespace SigCli
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer
    {

        public void FormLoadCustomize(System.Windows.Forms.Form WindowsForm)
        {
            // on effectue un cast du type général System.Windows.Forms.Form vers le type de la fenêtre en cours MercatorUi.Forms.Sig.SigForm
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
            // on va rechercher l'onglet par son ID visible dans les propriétés de l'onglet en mode paramétrage (faire précéder l'ID de tabItem_)
            MercatorUi.Forms.Sig.SigClasses.SigTabItem sigTabItem = (MercatorUi.Forms.Sig.SigClasses.SigTabItem)sigForm.TabStrip.Tabs["tabItem_BA80334271"];
            // la propriété BackColor ne fonctionne pas. Il faut utiliser PredefinedColor pour changer la couleur de l'onglet
            sigTabItem.PredefinedColor = DevComponents.DotNetBar.eTabItemColor.Red; // <- changer Red pour d'autres couleurs
            // ensuite, on va changer la couleur de la page associée à cet onglet. (Ce n'est pas obligatoire)
            Color c1;
            Color c2;
            // cette ligne permet d'obtenir les 2 couleurs du gradient de couleur de l'onglet
            DevComponents.DotNetBar.TabColorScheme.GetPredefinedColors(sigTabItem.PredefinedColor, out c1, out c2);
            // on prend une des deux couleurs pour fixer la couleur de la page
            sigTabItem.AttachedControl.BackColor = c2;
        }

    }
}

Attention : ce code utilise des ressources de DevComponents.DotNetBar. Il est obligatoire d'acquérir une licence par développeur utilisant ce composant.