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

Composants VCL Delphi Discussion :

XPManifest et couleur des GroupBox


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut XPManifest et couleur des GroupBox
    Bonjour,
    j'ai rajouté un XP Manifest dans mon application pour faire plus XP (même si maintenant les gens préfèrent faire style Vista, enfin ce n'est pas le sujet).
    Les libellés des GroupBox ne sont plus noirs mais dépendant des couleurs de Windows, nous n'avons plus la main sur ce point.
    Pour une question d'homogénéïté et d'esthétisme, je voudrais affecter cette couleur à des labels.
    J'ai essayé toutes les couleurs dans l'unité Graphics et dans l'unité Windows mais impossible de retrouver cette couleur.
    Le problème est que cette couleur est dépendante de Windows (s'il est bleu, gris ou vert).

    Comment faire pour avoir les mêmes couleurs dans ces 2 composants ?
    Merci beaucoup pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Après avoir été faire un tour du côté de la MSDN, j'ai pondu ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    uses
      UxTheme;
     
    function GetGroupBoxCaptionColor: Cardinal;
    var
      ThemeHandle: HTheme;
    begin
      ThemeHandle := OpenThemeData(Application.Handle, 'Button');
      if ThemeHandle = 0 then
        Result := clBlack
      else
        GetThemeColor(ThemeHandle, BP_GROUPBOX, PBS_NORMAL, TMT_TEXTCOLOR, Result);
      CloseThemeData(ThemeHandle);
    end;
    Utilisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Label1.Font.Color := GetGroupBoxCaptionColor;
    Ca m'a l'air d'être fonctionnel!

    @+ Claudius

  3. #3
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut
    Merci beaucoup Cl@udius pour le code, il fonctionne bien.
    C'est marrant parce que si on change le thème alors que la fenêtre est ouverte, cela change la couleur du GroupBox mais pas des autres labels, mais ce n'est pas important.

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par WebPac Voir le message
    Merci beaucoup Cl@udius pour le code, il fonctionne bien.


    Citation Envoyé par WebPac Voir le message
    C'est marrant parce que si on change le thème alors que la fenêtre est ouverte, cela change la couleur du GroupBox mais pas des autres labels, mais ce n'est pas important.
    Il suffit d'intercepter le message WM_THEMECHANGED et propager la mise à jour sur les labels concernés.

    @+ Claudius

  5. #5
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut
    Salut,
    bonne idée, mais ce n'est pas grave, je ne vais pas aller jusque là, déjà que les couleurs soient homogène, c'est suffisent.

    Merci.

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

Discussions similaires

  1. [BCB6] Couleur des composants et interfaces
    Par vsavoir dans le forum C++Builder
    Réponses: 6
    Dernier message: 19/08/2004, 17h20
  2. [VB.NET] Couleurs des onglets d'un TabControl
    Par ineznia dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/04/2004, 13h18
  3. couleurs des éléments 3D d'une appli
    Par Eugénie dans le forum MFC
    Réponses: 29
    Dernier message: 12/03/2004, 11h31
  4. Couleur des noeuds ds 1 TTreeView
    Par vincent DD dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/09/2002, 13h54
  5. Couleur des lignes dans DBGrid
    Par eddie dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/06/2002, 18h15

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