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

Langage Delphi Discussion :

Récuperer la couleur du theme de Seven


Sujet :

Langage Delphi

  1. #1
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut Récuperer la couleur du theme de Seven
    Salut

    Existe-t-il une API permettant de récuperer la couleur personnalisée du theme de Seven ? (celle qui entoure les fenetres)

    Merci d'avance ^^

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Touche F1 !!!!!
    la constante clWindowFrame doit correspondre à ce que tu cherche.

  3. #3
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Merci, mais ce n'est pas ca apparemment ...

    Chez moi, le theme est bleu foncé, et clWindowFrame est gris tres foncé ...
    De plus, appuyer sur F1 quand on sait pas ce qu'on cherche n'aide pas vraiment ... Surtout que sur ma version, D2005 Perso, l'aide ne trouve aucune page contenant clWindowFrame ...

    Enfin, merci quand meme ... Si tu as une autre idée ...

  4. #4
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      GetSysColor(COLOR_ACTIVECAPTION);
    ou par ThemeServices, mais ça n'a pas l'air d'être possible.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  5. #5
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetSysColor(COLOR_ACTIVECAPTION);
    ne fonctionne pas, meme en changeant la constante ...

    Par contre, meme si l'unité Themes (que je ne connaissais pas) ne fait pas ce que je veux, elle contient plein de trucs super utiles ! Je vais continuer dans cette voie. Merci Linkin !

    En attendant, si quelqu'un a la solution, qu'il me fasse signe ^^ !

    Merci d'avance

  6. #6
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Je n'ai pas seven chez moi mais vista... J'ai cherché sur le net une fenêtre seven et j'ai capturé le code hexa avec une boîte à couleurs que j'avais faite ...

    voilà le code de la couleur qui entoure une fenêtre seven: $FFEBD9

    salut

  7. #7
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par Archimède Voir le message
    Je n'ai pas seven chez moi mais vista... J'ai cherché sur le net une fenêtre seven et j'ai capturé le code hexa avec une boîte à couleurs que j'avais faite ...

    voilà le code de la couleur qui entoure une fenêtre seven: $FFEBD9

    salut
    Ce n'est pas exactement ca : sous Seven, comme sous Vista, on peut personnaliser la couleur des fenetres ...



    Ce que j'aimerais, c'est récuperer cette couleur, qui varie donc d'un utilisateur a l'autre ...

    Merci quand meme ...

  8. #8
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Ok, je croyais que tu voulais la couleur par défaut...Là, c'est une autre histoire.

    excuse, si c'est pour un utilisateur qui a choisi une couleur personnalisée en effet...

  9. #9
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    et indirectement, un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    color:=getpixel(getwindowdc(0),Form1.ClientOrigin.X+2,form1.ClientOrigin.y+2);

  10. #10
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Ouais, j'y avais pensé ... Mais les captions des fenetres sont transparentes, et donc le résultat dépends de ce qu'il y a en dessous ... et le caption n'est pas de couleur uniforme ... En plus, je me dis qu'il y a forcément une API qui fait ca automatiquement ... Le truc c'est de la trouver ...

    Et comme on dit, mieux vaut un qui sait que 10 qui cherchent ...

    Merci de t'interresser a mon probleme ^^

  11. #11
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    En plus, c'est plutôt :
    clientorigin.x-2 et clientorigin.y-2 lol

    oui, il doit y avoir une api...

    à chercher

  12. #12
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    J'ai fait une découverte interressante ^^
    http://www.developpez.net/forums/d95...a/#post5359695

    Malheureusement, en ce qui concerne la couleur du theme de Seven, je n'ai toujours pas trouvé !

  13. #13
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    J'avais mal vu ! J'ai trouvé cette API : c'est DwmGetColorizationColor

    Cette fonction permet de la récuperer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function DwmGetColorizationColor(var pcrColorization: Longword; var pfOpaqueBlend: Boolean): Longword; stdcall; external 'dwmapi.dll';
     
    function AeroColor: TColor;
    Var
     Col: Longword;
     Tmp: Boolean;
    begin
     DwmGetColorizationColor(Col, Tmp);
     Result := rgb(GetBValue(Col), GetGValue(Col), GetRValue(Col));
    end;
    Merci a vous tous,

    Mick605

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

Discussions similaires

  1. TStringGrid: Comment récuperer la couleur d'une cellule ?
    Par ddubois dans le forum Composants VCL
    Réponses: 1
    Dernier message: 12/05/2008, 18h07
  2. rècuperer une couleur
    Par azerty09 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 18/02/2008, 23h25
  3. Récuperer la couleur moyenne d'un buffer
    Par kriomx dans le forum OpenGL
    Réponses: 4
    Dernier message: 15/03/2007, 15h09
  4. récuperer la couleur du pixel ou se trouve la souris?
    Par fomazou dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/11/2006, 17h21
  5. Réponses: 1
    Dernier message: 26/03/2005, 12h31

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