Dans un projet MFC C++ J'utilise CMFCMenuButton
en utilisant MSVC 2013.CMFCMenuButton pas correctement repeindre lorsque le basculement haute mode contraste
Quand je bascule le high contrast mode le bouton est pas correctement repeint (à titre de comparaison un bouton normal est affiché) :
appel Invalidate()
ou ShowWindow(SW_HIDE);ShowWindow(SW_SHOW);
semblent avoir aucun effet - même minimiser la boîte de dialogue ne provoque pas de redessiner appropriée. Comment puis-je forcer le bouton à repeindre avec la couleur du système mis à jour?
Mise à jour: Le forçage des couleurs après le basculement du mode de contraste rend le texte du bouton visible, mais le bouton lui-même, la bordure, n'est pas visible.
m_ctrlOkButton.SetFaceColor(::GetSysColor(COLOR_BTNFACE));
m_ctrlOkButton.SetTextColor(::GetSysColor(COLOR_BTNTEXT));
CMFCMenuButton est dessiné par le propriétaire. Il apperas le contrôle ne détecte pas la modification du schéma de couleurs de l'interface utilisateur, de sorte que vous devrez peut-être détecter le changement de mode de contraste et modifier les couleurs du bouton pour l'afficher. – 1201ProgramAlarm
@ 1201ProgramAlarm Merci pour l'indice, a été en mesure de résoudre ce problème en attendant ... – MrTux