SetTextColor win32

cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 - 20 sept. 2002 à 22:58
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 11 févr. 2005 à 21:59
Salut je voudrais pouvoir changer la couleur du texte d'une editBox en win32. et eventuellement la couleur de fond de l'editBox osi. Si quelqu'un pouver m'aider ...

11 réponses

cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 sept. 2002 à 12:02
Au niveau de ta fenêtre, tu dois intercepter le message WM_CTLCOLOREDIT (si mes souvenirs sont bons). Le paramètre WPARAM contient le HDC où tu utilises effectivement SetTextColor() et le paramètre LPARAM contient le HWND du contrôle. Ensuite, tu retournes un HBRUSH pour peindre le fond.

Exemple:

// Get the devise context
HDC hDc=reinterpret_cast<HDC>(wParam);

// Set background mode to transparent
SetBkMode(hDc, TRANSPARENT);

// We only change the color of title
if (GetDlgItem(m_hWnd, IDC_STC_TITLE) == reinterpret_cast<HWND>(lParam))
SetTextColor(hDc, RGB(0, 0, 0x99));

return reinterpret_cast(GetSysColorBrush(COLOR_3DFACE));
0
cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 1
21 sept. 2002 à 14:28
OK je te remecrie ça m'as trop aider. Mais tu c pas comment changer la couleur de fond de l'editbox, parceque avec SetBkColor ça me change seulement la couleur du contour du texte et pas la couleur de fond de l'editbox ( je crois que c en relation avec setBkMode ), mais ça se trouve c pas la bonne fonction y'a p'être une autre fonction pour changer la couleur de fond de l'editBox, si tu pouvais m'aider sur ce coup ça serait sympa.
Merci d'avance
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 sept. 2002 à 14:31
Même si tu retournes un HBRUSH par return ca change pas de couleur ?
0
cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 1
21 sept. 2002 à 15:02
Bah non ça change juste la couleur autour du texte mais pas la couleur de fond de l'edit box. En fé quand j'ecris du texte la couleur et donc bien celle de SetColorText et autour du texte j'ai la couleur de SetBkColor donc je pense qu'en fé il doit y avoir une autre fonction pour changer la couleur de fond de l'edit ou alors je l'utilise mal. Sinon ouais je retourne un Hbrush, les couleurs marche bien mais j'arrive pas a changer la couleur de fond de l'edit juste la couleur du texte et son contour, si tu ve voir esssaie ça

SetTextColor ((HDC)wParam, RGB(12, 2, 232));
SetBkMode((HDC)wParam,OPAQUE);
SetBkColor((HDC)wParam, RGB(110, 113, 232));
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 sept. 2002 à 15:05
Essayes de remplacer

SetBkMode((HDC)wParam,OPAQUE);

par

SetBkMode((HDC)wParam,TRANSPARENT);
0
cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 1
21 sept. 2002 à 15:25
non mais la ça inhibe seulement
SetBkColor((HDC)wParam, RGB(110, 113, 232));
mais la couleur de l'editbox ne change pas, par contre on ne voit plus le la couleur qui entoure le texte ( normale ), moi je ve simplement chnager la couleur de l'edit. Je c pas si tu vois bien le truc.

SetTextColor ((HDC)wParam, RGB(12, 2, 232));
-> change la couleur du texte

SetBkColor((HDC)wParam, RGB(110, 113, 232));
-> change la couleur de contour du texte une forme de rectangle elle est inhibé si on met TANSPARENT a setkmode et visible si on met OPAQUE mais ds tt les cas ça ne change pas la couleur de l'editbox.

Alors soit j'utilise mal la fonction soit c simplement une autre fonction
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
21 sept. 2002 à 15:31
Dans ce cas précis, j'ai pas l'impression que SetBkColor() fasse grand chose. Tu as un peu étudié la MSDN à ce sujet ?
0
cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 1
21 sept. 2002 à 16:24
Ouais j'ai tt regardé
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
7 janv. 2003 à 19:09
Vous vous trompez complètement : SetBkColor change
l'arrière-plan du texte, pas celui du controle !
La couleur de fond de l'EditBox dépend seulement de ce qu'on retourne, et il faut retourner un brush:

return (BOOL) CreateSolidBrush(RGB(128, 0, 0));

au lieu de

return (BOOL)(GetSysColorBrush(COLOR_3DFACE));
qui dit qu'il faut retourner la couleur COLOR_3DFACE.
0
teubize Messages postés 3 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 20 janvier 2005
9 févr. 2005 à 15:11
J'aimerais pouvoir changer la couleur du contour d'une fenêtre comme du style msn.
je travaille sous C++ Builder 4

Merci
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 févr. 2005 à 21:59
Poste un nouveau message: personne ne te répondra ici
0
Rejoignez-nous