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 :

[MFC] inverser la couleur d'un texte


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par d�faut [MFC] inverser la couleur d'un texte
    J'affiche du texte dans une vue.

    Je souhaite afficher ce texte en mode inverse lorsque l'utilisateur clique pres du texte (genre texte selectionne).

    J'utilise la fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    monDC.SetROP2(R2_NOTCOPYPEN);
    mais ca ne fonctionne pas?? Pourtant c'est ce que j'utilise pour inverser les couleurs du dessin d'un rectangle par exemple.


    Merci d'avance.

    Virginie

  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
    Par d�faut
    salut,
    SetRop2 s'applique au dessin pas a du texte .
    pour changer la couleur voir CDC::SetTextColor et CDC::SetBkColor et eventuellement
    CDC::SetBkMode pour dire si le fond est transparent/opaque .
    ensuite reafficher le texte.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par d�faut
    Ok,
    donc si je veux simuler une inversion de couleur pour mon texte du genre mon texte est rouge et si l'utilisateur le selectionne il s'affiche bleu,
    je suis obligee de recuperer la couleur de mon texte initial, d'inverser les bits et de lui reattribuer la nouvelle couleur avec la fonction CDC::SetTextColor ?

    Existe il une fonction qui me retourne l'inverse de la couleur passee en parametre? Ou l� aussi je suis obligee de faire tout moi meme?

  4. #4
    Membre � l'essai
    Inscrit en
    Juin 2004
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 8
    Par d�faut
    si tu connais le rect de ton texte, utilise la fonction ::InvertRect (sans doute membre de CDC)

  5. #5
    Membre confirm�
    Inscrit en
    Avril 2004
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 125
    Par d�faut InvertRect
    Salut ,
    myskina dit
    si tu connais le rect de ton texte, utilise la fonction ::InvertRect (sans doute membre de CDC)
    Lire le msdn a cette url http://msdn.microsoft.com/library/de...invertrect.asp

    myskina devrait en profiter pour tuer son doute a propos de la classe dont InverRect est membre.

    ginounet voulait inverser la couleur et non le contenu de son controle qui est plutot du texte.

    a mon humble avis,faudrait coder toi meme,si en t'y mettant tu as besoin de coup de main,fais le savoir...

    Bye

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par d�faut
    Merci � tous pour votre participation.

    En effet j'ai cod� moi meme le mecanisme pour inverser les couleurs de mon texte.

    Voici le code :

    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
     
     
    COLORREF	     colorText;
    int	     rInv, bInv, gInv;
    CString	    strColor;
     
     
    /*hDc est un handle sur mon device context passe en parametre de ma fonction*/
     
     
    if (bCouleurInverse)
    {
           //il faut inverser la couleur initiale
           colorText = GetTextColor(hDc);
     
          //rouge
         strColor.Format("%d", GetRValue(colorText));
         rInv = 255 - atoi(strColor);
     
         //bleu
         strColor.Format("%d", GetBValue(colorText));
         bInv = 255 - atoi(strColor);
     
         //vert
         strColor.Format("%d", GetGValue(colorText));
         gInv = 225 - atoi(strColor);
     
         //applique la nouvelle couleur à mon texte)		
         SetTextColor(hDc, RGB(rInv, gInv, bInv));
    }
    Si certains trouvent qu'il y a plus simple ou mieux n'hesitez pas � l'ecrire.

    Virginie

  7. #7
    Invit�
    Invit�(e)
    Par d�faut
    Il ya juste une petite erreur de ta part :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    //vert 
         strColor.Format("%d", GetGValue(colorText)); 
         gInv = 225 - atoi(strColor);
    le 225 est a remplac� par 255
    sinon pour moi c parfait

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [MFC]Changer la couleur d'un onglet...
    Par Deedier dans le forum MFC
    R�ponses: 14
    Dernier message: 26/04/2005, 16h07
  2. [MFC]Changer la couleur d'un progress bar
    Par Deedier dans le forum MFC
    R�ponses: 1
    Dernier message: 21/04/2005, 18h39
  3. [MFC] gestion de couleurs
    Par Aradesh dans le forum MFC
    R�ponses: 12
    Dernier message: 06/04/2005, 08h41
  4. modifier la couleur d'un texte dans un input text
    Par mic79 dans le forum Mise en page CSS
    R�ponses: 8
    Dernier message: 05/01/2005, 16h45
  5. [MFC] RichEdit et couleurs
    Par basnifo dans le forum MFC
    R�ponses: 12
    Dernier message: 25/01/2004, 17h07

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