De kleur van een tabblad in de klantenfiche wijzigen

0000002014     -      13-06-2013

Deze programmering is verouderd sinds de versie 8.0.78 van MercatorUi.dll. Het is in de parametreerbare schermen tegenwoordig immers standaard mogelijk om

  • het tabblad te kleuren: via de eigenschap TabColor (beschikbare kleuren zijn de kleuren uit de DevComponents.DotNetBar.eTabItemColor-opsomming);
  • de pagina te kleuren in dezelfde kleur als het tabblad: via de eigenschap PageColoredAsTab, die moet worden ingesteld op true.


Deze klantencustomizer (SigCli) laat toe om de kleur van een tabblad in de klantenfiche te veranderen. Het tabblad in kwestie moet worden geïdentificeerd aan de hand van zijn in de modus "parameterinstelling" zichtbare ID-eigenschap. Deze customizer implementeert de interface MercatorUi.ICustomizers.IFormLoadCustomizer.

De code ziet er als volgt uit:

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)
        {
            // Men voert een cast uit van het algemene type System.Windows.Forms.Form naar het type van het actieve venster MercatorUi.Forms.Sig.SigForm.
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
            // Het tabblad wordt opgezocht aan de hand van zijn ID die in modus Parameterinstelling zichtbaar is in de eigenschappen van het tabblad (de ID laten voorafgaan door tabItem_).
            MercatorUi.Forms.Sig.SigClasses.SigTabItem sigTabItem = (MercatorUi.Forms.Sig.SigClasses.SigTabItem)sigForm.TabStrip.Tabs["tabItem_BA80334271"];
            // De BackColor-eigenschap werkt niet. Men moet PredefinedColor gebruiken om de kleur van het tabblad te veranderen.
            sigTabItem.PredefinedColor = DevComponents.DotNetBar.eTabItemColor.Red; // <- Red veranderen indien andere kleuren.
            // Daarna kan men de kleur veranderen van de pagina die bij dit tabblad hoort (dit is niet verplicht).
            Color c1;
            Color c2;
            // Via deze lijn kan men de 2 kleuren van de kleurengradiënt van het tabblad bekomen.
            DevComponents.DotNetBar.TabColorScheme.GetPredefinedColors(sigTabItem.PredefinedColor, out c1, out c2);
            // Men neemt een van de twee kleuren om de kleur van de pagina vast te leggen.
            sigTabItem.AttachedControl.BackColor = c2;
        }

    }
}

Opgelet: deze code maakt gebruik van de resources van DevComponents.DotNetBar. U bent verplicht om per ontwikkelaar die dit component gebruikt, een licentie te verwerven.