[MFC] Couleur d'un texte

ekinox17 Messages postés 66 Date d'inscription jeudi 6 octobre 2005 Statut Membre Dernière intervention 18 janvier 2006 - 21 nov. 2005 à 17:00
max1980 Messages postés 3 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 27 mai 2006 - 10 févr. 2006 à 21:10
C'est simple, j'aimerai savoir comment changer la couleur d'un texte :
je pensai pouvoir le faire avec un CFont : mais nan et je sais pas
comment faire quelqu'un peut-il me mettre sur la voie ça serait tres
gentils.

Allez soyez sympa une petite fonction qui peut modifier la couleur dans
un CEdit ou bien dans un CStatic .... ça doit bien exister ?

3 réponses

ekinox17 Messages postés 66 Date d'inscription jeudi 6 octobre 2005 Statut Membre Dernière intervention 18 janvier 2006
24 nov. 2005 à 11:11
Bon ...

Personne ne me repond ... ben donner moi une solution API que je puisse appeler via SendMessage via un hwnd SVP.

Merci.
0
ekinox17 Messages postés 66 Date d'inscription jeudi 6 octobre 2005 Statut Membre Dernière intervention 18 janvier 2006
13 déc. 2005 à 13:54
Bon il faut que j'ouvre un autre post pour pouvoir que l'on me remponde ?

meme si c'est pas du mfc reponder moi par une solution API ça doit bien exister !

merci
0
max1980 Messages postés 3 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 27 mai 2006
10 févr. 2006 à 21:10
c'est par hasard que je suis tombé sur ton message,


je t'envoie ci dessous ,cru, la solution.


si tu n'arrive pas à la mettre en oueuvre, recontacte mois pour que je t'envoie l'exemple complet.


salut.


// InfoBulle.h : header file
//
#include "Couleurs.h" // ne contient que les RGB
/////////////////////////////////////////////////////////////////////////////
// CInfoBulle window


class CInfoBulle : public CStatic
{
// Construction
public:
CInfoBulle();


// Attributes
public:


// Operations
public:


// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CInfoBulle)
//}}AFX_VIRTUAL


// Implementation
public:
void SetTaille(int aTaille);
void SetPolice(CString aNomPolice);
void SetBkCoul(COLORREF acr);
void SetFgCoul(COLORREF acr);
virtual ~CInfoBulle();


// Generated message map functions
protected:
CFont m_Pol;
CBrush m_br;
COLORREF m_BkCoul;
COLORREF m_FgCoul;
//{{AFX_MSG(CInfoBulle)
afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
//}}AFX_MSG


DECLARE_MESSAGE_MAP()
};

// InfoBulle.cpp : implementation file
//


#include "stdafx.h"
#include "TestUn.h"
#include "InfoBulle.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// CInfoBulle


CInfoBulle::CInfoBulle()
{
m_BkCoul=crJaune;//crNoir; .
m_FgCoul=crBleu;//crBlanc;

//m_br.CreateSolidBrush(m_BkCoul);
}


CInfoBulle::~CInfoBulle()
{
}



BEGIN_MESSAGE_MAP(CInfoBulle, CStatic)
//{{AFX_MSG_MAP(CInfoBulle)
ON_WM_CTLCOLOR_REFLECT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CInfoBulle message handlers


void CInfoBulle::SetFgCoul(COLORREF acr)
{
m_FgCoul=acr;
Invalidate();
}


void CInfoBulle::SetBkCoul(COLORREF acr)
{
m_BkCoul=acr;
Invalidate();
}


void CInfoBulle::SetPolice(CString aNomPolice)
{
static CFont *pF = GetFont();
LOGFONT logFont;
pF->GetLogFont(&logFont);
lstrcpy(logFont.lfFaceName, aNomPolice);
m_Pol.DeleteObject();
m_Pol.CreateFontIndirect(&logFont);
SetFont(&m_Pol);
}


void CInfoBulle::SetTaille(int aTaille)
{
CFont *pF = GetFont();
LOGFONT logFont; pF->GetLogFont(&logFont);
logFont.lfHeight = aTaille;
m_Pol.DeleteObject();
m_Pol.CreateFontIndirect(&logFont);
SetFont(&m_Pol);
}


HBRUSH CInfoBulle::CtlColor(CDC* pDC, UINT nCtlColor)
{
// TODO: Change any attributes of the DC here
// TODO: Return a non-NULL brush if the parent's handler should not be called
pDC->SetTextColor(m_FgCoul);
pDC->SetBkColor(m_BkCoul);
m_br.DeleteObject();
m_br.CreateSolidBrush(m_BkCoul);
//return CBrush(m_BkCoul);
return m_br;


//return NULL;
}
0
Rejoignez-nous