IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Comment définir la couleur d'un TabSheet [IDE]


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par défaut Comment définir la couleur d'un TabSheet
    Bonjour,
    je suis sous XE3 et je voudrais définir la couleur d'un TabSheet.
    Je n'ai pas pu trouver la propriété Color.
    Merci de votre aide.
    Xavier

  2. #2
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut
    Bonjour,

    Il faut défnir la propriété OwnerDraw à true du TabControl et ensuite tu peux utiliser son événement OnDrawTab

    Un petit exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    void __fastcall TForm1::TabControl1DrawTab(TCustomTabControl *Control, int TabIndex, const TRect &Rect, bool Active)
    {
       int	l_iLargeur, l_iHauteur;
     
       if (Active)
       {
          Control->Canvas->Brush->Color = clGreen;
          Control->Canvas->Font->Color = clDkGray;
       }
       else
            switch (TabIndex)
            {
               case	1:
     
                  Control->Canvas->Brush->Color = clFuchsia;
    	      Control->Canvas->Font->Color = clWhite;
    	      break;
     
                case	2:
     
    		Control->Canvas->Brush->Color = clBlue;
    		Control->Canvas->Font->Color = clYellow;
    		break;
     
                default:
     
                     Control->Canvas->Brush->Color = clWhite;
    		Control->Canvas->Font->Color = clBlack;
    	}
            Control->Canvas->Rectangle(Rect);
            l_iHauteur = Control->Canvas->TextHeight(static_cast<TPageControl*>(Control)->ActivePage->Caption);
            l_iLargeur = Rect.Left;
            Control->Canvas->TextOut(l_iLargeur, Rect.Top +  2, static_cast<TTabControl*>(Control)->Tabs->Strings[TabIndex]);
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par défaut
    Merci beaucoup free07.
    Dans ma Pagecontrol, j'ai réussi à modifier les zones Tab avec ton code.
    Juste une question à profondir:
    Sous my PageControl, il y a deux TabSheets, est-qu'il y a un moyen de définir la couleur de l'ensemble d'un TabSheet (pas que sur la zone Tab, mais sur toute la surface)?
    Merci d'avance
    Xavier

  4. #4
    Membre émérite
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Par défaut
    Citation Envoyé par Xavier Voir le message
    Merci beaucoup free07.
    Dans ma Pagecontrol, j'ai réussi à modifier les zones Tab avec ton code.
    Juste une question à profondir:
    Sous my PageControl, il y a deux TabSheets, est-qu'il y a un moyen de définir la couleur de l'ensemble d'un TabSheet (pas que sur la zone Tab, mais sur toute la surface)?
    Merci d'avance
    Xavier
    Je n'ai jamais fait, mais il me semble avoir vu que c'est possible en mettant un Panel dans le PageControl, à voir...

  5. #5
    Membre éclairé
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par défaut
    Merci beaucoup.
    Xavier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment définir une couleur RGB pour composant TForm
    Par kressano dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/09/2009, 17h18
  2. Comment définir la couleur de bordure d'un champ text ?
    Par isack dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 31/12/2007, 16h59
  3. GdkGC : comment définir une couleur ?
    Par bert_ dans le forum GTK+ avec C & C++
    Réponses: 12
    Dernier message: 05/05/2007, 16h16
  4. [VB6] Comment récupérer la couleur d'un pixel de l'écran?
    Par Taurëndil dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 26/03/2004, 08h02
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo