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

C

 > 

Windows

 > 

MFC

 > 

changement de couleur avec la fonction OnCtlColor()


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

changement de couleur avec la fonction OnCtlColor()

lundi 7 février 2011 à 16:23:29 | changement de couleur avec la fonction OnCtlColor()

domingo112

Bonjour,
Dans mon programme VC6 je veux utiliser 4 zones "statictext" dont je veux changer la couleur en fonction du résultat d'un contrôle effectué plus loin dans le code :
rouge : fail
orange : warning
vert : pass

(avec la couleur orange par defaut )

Ma boite de dialogue est lancée, j'affiche mes 4 zones "statictext" en orange sans problème grâce à ce code :

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

if(pWnd->m_hWnd == GetDlgItem(IDC_STATIC01)->m_hWnd)
{
pDC->SetTextColor(RGB(255,255,255));

pDC->SetBkMode(TRANSPARENT);
m_hBackGround = CreateSolidBrush(RGB(240,180,35));
return m_hBackGround;
}


if(pWnd->m_hWnd == GetDlgItem(IDC_STATIC02)->m_hWnd)
{
pDC->SetTextColor(RGB(255, 255, 255));

pDC->SetBkMode(TRANSPARENT);
m_hBackGround = CreateSolidBrush(RGB(240,180,35));
return m_hBackGround;
}


if(pWnd->m_hWnd == GetDlgItem(IDC_STATIC03)->m_hWnd)
{
pDC->SetTextColor(RGB(255, 255, 255));

pDC->SetBkMode(TRANSPARENT);
m_hBackGround = CreateSolidBrush(RGB(240,180,35));
return m_hBackGround;
}


if(pWnd->m_hWnd == GetDlgItem(IDC_STATIC04)->m_hWnd)
{
pDC->SetTextColor(RGB(255, 255, 255));

pDC->SetBkMode(TRANSPARENT);
m_hBackGround = CreateSolidBrush(RGB(240,180,35));
return m_hBackGround;
}
return hbr;
}

par contre je ne sais pas changer ces couleurs dynamiquement ?
J'essaye déseperement d'appeler cette fonction plus loin dans le code ..
Je précise que la fonction OnCtlColor() est gérée par le message WM_CTLCOLOR

quelqu'un peut m'aider ?

merci d'avance


mardi 8 février 2011 à 10:24:25 | Re : changement de couleur avec la fonction OnCtlColor()

louis14

Bonjour,
Tu peux trouver des solutions à cet endroit :
http://www.codeproject.com/KB/miscctrl/cfctrl.aspx
http://www.codeproject.com/KB/miscctrl/colorcontols.aspx
Sinon dans ton code tu dois avoir des fuites de mémoire en créant autant de solidbrush


louis
mardi 8 février 2011 à 13:18:31 | Re : changement de couleur avec la fonction OnCtlColor()

domingo112

SUPER merci bien pour ton aide !!


Cette discussion est classée dans : hwnd, rgb, pdc, pwnd, hbackground


Répondre à ce message

Sujets en rapport avec ce message

Probleme d affichage [ par Scythale ] Lorsque j'execute ce programme voici ce que dit mon compilateur(borland C++): you have accidentely use the old dummy version of OwlMain.Je n'arrive pa PLEAZE HELLLLLLP ! [ par kernel ] salut a tous..mon probleme est simple:- j'ai une classe nommée CForm:class CForm{public: HWND hwnd; BOOL CALLBACK DialogProcedure(HWND hWnd, UNIT ms erreur(vc++6) [ par greg4 ] Linking...LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainDebug/fen.exe : fatal error LNK1120: 1 unresolved externalsError execut ressources et API !!!! [ par Xs ] salut !voila, pour me simplifier la tache, j'utlise les ressources pour creer une boite de dialog (sous VC++ 6).mais j'obtiens, lors de la compilation Pb sur un ptit bout de prog en DirectX.... [ par Haldwin ] Salut a tous....Voila j'ai deux ptits pbs quand je lance cette appli ci-dessous... (VC++)La première est q'une fois sur deux ma variable hWnd apres le 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 plusieur fenetre mais une seule en mémoire... [ par Xs ] Bon, voila.Quand je fais une nouvelle fenetre avec un code ressemblant a ca : hwnd = CreateDialog(...);ShowWindow(hwnd,SW_SHOW);......bon, et bien il pb a la fermeture de win [ par stick ] bonjours,alors voilou, je fais une appli en utilisant l'api window, mais si je ferme windows sans quitter le programme auparavant, celui ci plante et Simuler flêche bas avec SendMessage [ par TeDeum ] Salut à tous,J'aimerai simuler l'appuie sur la touche flêche bas du clavier avec un SendMessage.Comment faire ?J'ai une idée, mais je trouve pas les b Urgent : Récupération d'un événement sur un TreeView [ par vow ] Bonjour,J'ai une fenêtre principale, avec un menu et un toolbar, et une fenêtre secondaire (hwndParent) contenant un treeview.Je travaille sur Visual


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,484 sec (4)

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