J'ai un texte statique sur une fenêtre qui est noire, et je voudrais le changer au moment de l'exécution en utilisant une boîte de dialogue Sélecteur de couleurs. J'ai réussi à obtenir la couleur, maintenant j'ai juste besoin de changer le texte! J'ai lu que le message WM_CTLCOLORSTATIC
est celui à gérer, bien que cela ne semble être que lorsque le contrôle est initialement dessiné à l'écran. Pourrait-on utiliser WM_PAINT
?Dans Win32, comment modifier la couleur du texte STATIC?
Le code de réglage de la couleur que je l'ai à ce jour est (en WM_CTLCOLORSTATIC
cas):
if ((HWND)lParam == GetDlgItem(hWnd, uLabelId)
{
SetBkMode((HDC)wParam, TRANSPARENT);
SetTextColor((HDC)wParam, crLabelTextColour);
return (BOOL)CreateSolidBrush(GetSysColor(COLOR_MENU));
}
j'ai tout à fait le mauvais bout du bâton aborder cette question, de sorte que toute aide serait grandement appréciée !
Merci! Je savais que 'WM_CTLCOLORSTATIC' est une notifcation. La déclaration de retour est juste quelque chose que j'ai obtenu d'un autre exemple - je ne l'aime pas vraiment non plus! Merci de m'avoir averti de la brosse - je vais regarder ça! – BWHazel