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

MFC Discussion :

Fonction de conversion de COLORREF en hexadécimal?


Sujet :

MFC

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Points : 218
    Points
    218
    Par défaut Fonction de conversion de COLORREF en hexadécimal?
    Bonjour,
    Savez-vous s'il existe (j'ai cherché désespérement) une fonction qui, à partir d'une variable de type COLORREF, me donnerais directement la couleur en format décimal exactement : 0x000000 !!
    C'est à dire toujours les 6 chiffres correspondant aux couleurs RGB !!

    J'ai utilisé la fonction _itoa mais elle me donne juste la valeur sur le nombre de chiffre nécessaire... et ça décale les couleurs... donc ça marche pas vraiment à moins de récupérer chaque couleur puis de la convertir en décimal et de tester si un seul caractère rajouter un zéro devant....
    Mais je trouve cette solution un peu lourde.... et peut être qu'il existe une fonction toute simple qui me donnerait ce que je cherche !!!

    Merci
    Bon week end !!!

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut, tu l'a deja la valeur:
    COLORREF
    This value is a 32-bit value used to specify an RGB color.
    typedef DWORD COLORREF
    le type COLORREF est en fait un entier .
    si tu lui affecte la valeur avec une macro RGB tu a ta valeur.
    affichage en hexa avec le format %x ( par printf sprintf ou format de la cstring).


  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Points : 218
    Points
    218
    Par défaut Ben, c'est pas tout à fait ce que je veux
    En fait, par exemple pour rouge....ça va juste me donner ff.. mais c'est pas bon , moi je veux FF0000 et pour bleu il donne FF0000 alors que je veux 0000FF... en fait ça donne la valeur hexa de l'entier...

    Alors que ce que je veux c'est RRGGBB ( valeur hexa du rouge, du vert et du bleu ... )


  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    COLORREF color=RGB(255,   0,   0);     // Red	
     
    str.Format("%02X%02X%02X",
                             GetRValue(color),
                             GetGValue(color),
                             GetBValue(color));
    la c'est correct.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Points : 218
    Points
    218
    Par défaut Merci beaucoup
    Effectivement, c'est plus simple que ma solution...
    J'avais pas pensé à la fonction Format et pis j'avoue je connaissais pas le 02 avec le %
    Bon week end!

Discussions similaires

  1. Fonction de conversion de nombre en lettres
    Par david_chardonnet dans le forum Langage
    Réponses: 21
    Dernier message: 08/12/2021, 17h51
  2. Fonction de conversion RTF en TXT ou HTML
    Par galouvielle dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/09/2005, 17h55
  3. Fonction de conversion de volume
    Par soso78 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 23/08/2005, 21h12
  4. [TestStand] Fonction de conversion...
    Par capblans dans le forum Autres langages
    Réponses: 4
    Dernier message: 26/04/2005, 08h58
  5. Réponses: 5
    Dernier message: 12/01/2005, 20h58

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