Je m'excuse pour le flou du titre, mais je ne suis pas entièrement sûr de la façon dont je veux résoudre le problème. Fondamentalement, j'ai 2 groupes de boutons. Lorsque l'utilisateur sélectionne un bouton de l'un des groupes, je veux définir un indicateur que ce groupe a été sélectionné. Donc, soit un rectangle les entourant (en bleu) ou en coloriant l'arrière-plan (ou l'image de fond) derrière le groupe. L'utilisateur final a indiqué qu'un rectangle les entourant serait bien, ce qui serait préférable. J'ai essayé de surcharger l'onCtlColor sur une boîte de groupe, mais je ne sais pas comment limiter la coloration à la bordure. Je sais qu'il doit absolument être le plus en arrière dans z-ordre Un conseil?MFC - définir une image de fond sur un contrôle
Exemple de code (je suis conscient qu'il fait mal l'ensemble de la boîte)
pDC->SetBkColor(GetSysColor(RGB(100,149,237)));
CRect rect;
testGb.GetClientRect(rect);
CBrush brushBlue(RGB(0, 0, 255));
CBrush* pOldBrush = pDC->SelectObject(&brushBlue);
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
Si vous ne voulez pas faire la peinture pendant 'WM_CTLCOLORSTATIC' (voir ma réponse), il serait préférable de donner l'ID des ressources aux zones de groupe et récupérer les rectangles des contrôles à la place de coder en dur les coordonnées –