begin process at 2012 05 28 15:36:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Changer la couleur d'une phrase


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Changer la couleur d'une phrase

lundi 18 mai 2009 à 14:12:03 | Changer la couleur d'une phrase

rfaes

Bonjour,

Ma question est surement redondante par rapport à ce qui a déjà été expliqué, mais je n'ai pas réussi à trouver mon bonheur, et je me place dans la section débutant afin d'obtenir des réponses précises claires...
Je programme sous Visual Studio 2005, en C++ et j'ai une fonction (sur un soft programmé par un ancien collègue de la boite) qui permet d'afficher un message dans un zone définie.
Cette fonction :

void CMesureCarterDlg::Message_Erreur_1(CString erreur_1)
{
    m_erreur_1.SetWindowText(erreur_1);
}

Ce message, auparavant destiné à afficher des erreurs s'afficher en rouge grace à la fonction  (La fonction mise en commentaire)  :

    #define    defineOnCtlColor(classe, couleur_texte)                                                                    \
        HBRUSH classe::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)                                             \
        {                                                                                                            \
        HBRUSH hbr    = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);                                                    \
            LOGBRUSH    logBrush;                                                                                    \
                                                                                                                    \
            m_bkBrush.GetLogBrush(&logBrush);                                                                        \
                                                                                                                    \
            switch ( nCtlColor )                                                                                    \
            {                                                                                                        \
                                                                                                                    \
                  case CTLCOLOR_EDIT:                                                                                \
                  case CTLCOLOR_MSGBOX:                                                                                \
                  case CTLCOLOR_STATIC:                                                                                \
                                                                                                                      \
                        /*if (    (pWnd->GetDlgCtrlID() == m_erreur_1.GetDlgCtrlID())                                    \
                            ||    (pWnd->GetDlgCtrlID() == m_erreur_2.GetDlgCtrlID())                                    \
                            ||    (pWnd->GetDlgCtrlID() == m_erreur_3.GetDlgCtrlID()))                                \
                            pDC->SetTextColor(ERROR_COLOR);                                                            \
                        else*/                                                                                        \
                            pDC->SetTextColor(couleur_texte);                                                        \
                        pDC->SetBkColor(logBrush.lbColor);                                                            \
                                                                                                                    \
                      return (HBRUSH)(m_bkBrush.GetSafeHandle()); 

A ce jour, je souhaiterai afficher différentes choses dans cette zone de texte, et avec des couleurs différentes.
Mon but étant de faire évoluer la fonction Message_Erreur en ajoutant une variable (de couleur), de cette manière :

void CMesureCarterDlg::Message_Erreur_2(CString erreur_2, CFont* color_2)
{
    m_erreur_2.SetWindowText(erreur_2);
    m_erreur_2.SetFont(color_2);
}
avec mes couleurs :
    #define    BLACK_COLOR                            RGB(0,0,0)
    #define    BLUE_COLOR                            RGB(0,128,192)
    #define    RED_COLOR                            RGB(255,0,0)
    #define    PINK_COLOR                            RGB(255, 190, 190)
    #define    GREEN_COLOR                            RGB(190, 255, 190)
    #define    GRAY_COLOR                            RGB(192, 192, 192)
    #define    YELLOW_COLOR                        RGB(255,255,0)

et une utilisation type :
        Message_Erreur_2("AZ",GREEN_COLOR);

Or je n'y arrive pas :(
Pourriez vous m'orienter... Tout le monde parle de HDC, de CTLCOLORSTATIC, de SetTextColor, mais je n'y comprend pas grand chose...

Mes data_exchange, si cela peut vous aider :

    DDX_Control(pDX, IDC_ERREUR_3, m_erreur_3);
    DDX_Control(pDX, IDC_ERREUR_2, m_erreur_2);
    DDX_Control(pDX, IDC_ERREUR_1, m_erreur_1);

D'avance merci...
Désolé si je m'étale ou vous en dit trop, mais je n'ai jamais trop programmé en C++ et la gestion des couleurs semble quand même assez Hard... (comparé à CVI ;) )
lundi 18 mai 2009 à 14:27:48 | Re : Changer la couleur d'une phrase

fregolo52

Membre Club

inspire toi de ca.
et n'oublie pas de redessiner : fonction Invalidate
lundi 18 mai 2009 à 16:49:15 | Re : Changer la couleur d'une phrase

rfaes

Merci de ta réponse Fregolo, cependant, comment crée le CDC auquel j'affecte le changement de couleur ?
j'ai mon objet static, mais je ne sais pas comment avancer plus pour y arriver...

Merci
lundi 18 mai 2009 à 17:40:50 | Re : Changer la couleur d'une phrase

fregolo52

Membre Club

je ne suis pas un pro du dév ihm.
mais pourquoi tu ne ferais pas comme l'exemple, c a d créer une classe qui dérive du type de m_erreur_2 pour gérer la couleur.


Cette discussion est classée dans : message, erreur, rgb, color, define


Répondre à ce message

Sujets en rapport avec ce message

Gérer les messages d'erreur de TClientSocket [ par internetservices ] Salut,je suis en train de créer un programme en C++ utilisant les sockets. J'ai lu que pour éviter d'avoir le message par défaut de windows "raised ex SetTextColor(HDC,COLORREF); [ par Xs ] salut !j'ai un probleme avec cette fonction que j'ai rencontré par hasard : elle ne marche pas. Je la compile correctement mais il ny'a a aucun effet Message d'erreur [ par benja140 ] G obtenu le message :fatal error C1010: unexpected end of file while looking for precompiled header directive.Je ne compren po ce kil veu dire, pourri GetLastError [ par angdemon ] BONJOUR,A chaque fois que je vais sur mon serveur internet en loccurence Aol et que je surf sur internet j'ai réguliérement ce message d'erreur getlas Message d'erreur [ par flatmax ] lors de la compilation j'ai un message d'erreur :fatal error C1010: unexpected end of file while looking for precompiled header directive j'ai desacti Message d'erreur à l'installation de visual studio 6 sous XP [ par JeanLucZ ] Bonjour,quelqu'un peut-il me dire pourquoi j'ai toujours un message d'erreur lorsque j'installe visual studio 6 sous XP.C'est du genre "l'installation Message d'erreur incompréhensible [ par CyberP ] Lorsque je compile mon programme en debug avec vc++ 6, j'obtient des erreurs lors des tests, les voici (ce sont tous les mêmes) :The value of ESP was Erreur de mémoire ? [ par larion ] Bonjour,Je viens de réaliser un projet (~2000 lignes) avec C++Builder permettant de gérer des bureaux virtuels.Ce programme utilise une Dll qui est a message d'erreur [ par chicox ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB Message d'erreur [ par goutbouyo ] Salut,Lorsque j'essai de copier du texte dans un fichier ça me met cette erreur : Debug ErrorProgram: ...............R6002-floating point not loadedLe


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales