C++ / MFC Changer couleur d'un texte

Fermé
JeepyLeChat Messages postés 59 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 27 février 2012 - 4 janv. 2010 à 21:49
 Ivo_le_blid - 30 mars 2010 à 14:30
Bonjour,

J'ai débuté aujourd'hui à programmer des applications MFC en C++ (j'ai déjà une certaine expérience en programmation, cependant), et je cherchais à comprendre comment je pourrais changer la couleur d'un texte. Pour le bienfait de la chose, je voudrais utiliser un bouton pour mettre un static text en rouge, puis un autre bouton pour le remettre en noir.

De ce que j'ai pu comprendre en lisant diverses choses, je dois utiliser le message WM_CTLCOLOR et obtenir

HBRUSH CDialogDlg::OnCtlColor(CDC* pDC, CWnd* pWnd,
UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if (pWnd->GetDlgCtrlID() == IDC_COLORED_LABEL)
pDC->SetTextColor(RGB(128, 0, 0)); // dark red

return hbr;
}

...ce qui me permettrais de changer la couleur en rouge. Maintenant, comment utiliser ce message? Et si je ne le veux plus rouge mais noir, comme je disais, comment dois-je procéder?

J'ai besoin de votre aide! Mes chers experts, éclairez moi!
Jeepy
            
                
A voir également:

1 réponse

Ivo_le_blid
30 mars 2010 à 14:30
Si tu ne veux pas de couleur, ne mets pas ce code, la couleur par défaut est le noire.
sinon tu dois modifier les parametres dans SetTextColor(RGB(X,X,X))
X est un nombre qui varie entre 0 et 255, le premier chiffre est pour le rouge, le deuxieme est pour le vert et le dernier est pour le bleu, si tu mtes RGB(0,0,0) cela te donnera la couleur blanche, si tu mets RGB(255,255,255) cela te donnera la couleur noire
1