Mettre en couleur du texte Static [WIN32] - Programmation
Marsh Posté le 13-07-2001 à 17:27:50
viiz a écrit a écrit : Ah tant qu'on y est pour souligner, tu coches la case "souligné" dans la propriété Font du TStaticText. Bah t'inquiete, en Visual c'est que 15 lignes de +... |
Voila du post constructif, incontestablement...
Marsh Posté le 15-07-2001 à 01:08:04
Je le comprends, moi qui ait fait l'rreru d'acheter Visual C++ !
Marsh Posté le 15-07-2001 à 19:43:37
Il faut intercepter le message WM_CTLCOLORSTATIC dans ta fonction WindowProc, le wParam est
alors ton HDC et il suffit de faire un SetTextColor(wParam,0xXXXXXXXX); // XXXXXXXX est ta couleur voulue
il faut evidemment faire un test auparavant sur le lParam ( HWND du controle) à savoir si c'est
le bon controle auquel il faut changer la couleur.
Marsh Posté le 16-07-2001 à 16:50:50
xilebo a écrit a écrit : Il faut intercepter le message WM_CTLCOLORSTATIC dans ta fonction WindowProc, le wParam est alors ton HDC et il suffit de faire un SetTextColor(wParam,0xXXXXXXXX); // XXXXXXXX est ta couleur voulue il faut evidemment faire un test auparavant sur le lParam ( HWND du controle) à savoir si c'est le bon controle auquel il faut changer la couleur. |
Yep, ca donne ca comme code (moins de 30 lignes)
case WM_CTLCOLORSTATIC:
{
if ((HWND)lParam == ::GetDlgItem(hwndDlg,IDC_DLL_HOMEPAGE) ||
(HWND)lParam == ::GetDlgItem(hwndDlg,IDC_ABOUT_HOMEPAGE) ||
(HWND)lParam == ::GetDlgItem(hwndDlg,IDC_ABOUT_BSD))
{
::SetTextColor((HDC)wParam, ::GetSysColor (COLOR_HIGHLIGHT));
::SetBkColor((HDC)wParam, ::GetSysColor (COLOR_BTNFACE));
return (LRESULT) hBrushStatic;
}
else
return (LRESULT) NULL;
}
break;
Par contre pour le souligné je sais po
Marsh Posté le 16-07-2001 à 16:53:50
viiz a écrit a écrit : Propriété Color du composant TStaticText. Ah non pardon tu fais du Visual c'est ca ? Bah ca sera 30 lignes de code pour la peine! |
C quoi comme langage ca ?
Marsh Posté le 16-07-2001 à 16:55:58
C'est C++ builder si je ne me trompe. C'est pas mal. Avec ce logiciel il y a plein de gens qui croivent bien savoir programmer
mais qui ne sont capable que de faire glisser des composants.
Marsh Posté le 16-07-2001 à 20:22:51
He ben tu te trompes complétement : j'utilises énormément Delphi.
En plus , je ne parlais pas pour toi, mais on dirait que tu t'es senti concerné.
Delphi et C++ builder sont des RAD, et non pas le même role que VC++. Tout dépend de l'application que tu dois faire, du temps que tu as pour le faire etc ...
Allez sans rancune
Marsh Posté le 16-07-2001 à 20:47:32
ReplyMarsh Posté le 17-07-2001 à 12:49:41
Ouais ben si c'est Borland, ca compilera pas sous Linux+Wine (gcc)...
C'est pour ca que j'essaye d'utiliser au minimum des bibliothèques propriétaires.
Marsh Posté le 13-07-2001 à 15:47:09
Tout est dans la question ?
Comment qu'on fait ? (une fois de plus je précise que j'utilise pas la surcouche MFC)...
Et aussi tant qu'on y est, comment souligner ce texte ? (y a bien la solution de mettre un & devant chaque caractère, mais bon...)