Bonjour, je suis en train de développer un logiciel dans le cadre de mon stage et dans celui-ci, je dois changer la couleur de fond d'un champ texte.
Pour cela, j'utilise:
case WM_CTLCOLORSTATIC :
if((HWND)lParam == hMes){
SetBkMode((HDC)wParam, OPAQUEE);
hBkColor = mes_in_zone == 1 ? hVERT : hROUGE; SetBkColor((HDC)wParam, mes_in_zone == 1 ? VERT : ROUGE);
return (BOOL)hBkColor;
}
if((HWND)lParam == hMesAbsolue || (HWND)lParam == hPiecesMes){
SetBkMode((HDC)wParam, OPAQUE);
SetBkColor((HDC)wParam, JAUNE);
return (BOOL)hJAUNE;
}
Sachant que JAUNE, hJAUNE, hVERT et hROUGE sont déclarés en variables globales et que je change le contenu de ces 3 champs à l'aide de la fonction SetWindowText à partir d'un autre THREAD.
Au début, ça marche très bien mais il y a un moment où l'affichage se met à ne plus bien fonctionner (les boîtes de dialogues ne s'affichent plus correctement et deviennent inutilisables...).
Je ne vois pas du tout d'où ça peut venir et j'espère que vous avez une idée.
Merci d'avance.
Partager