В проекте C++ MFC Я использую CMFCMenuButton
с помощью MSVC 2013.CMFCMenuButton не правильно перекраску при переключении в режим высокой контрастности
Когда я переключите high contrast mode кнопка не правильно перекрасили (для сравнения отображается нормальная кнопка) :
Вызов Invalidate()
или ShowWindow(SW_HIDE);ShowWindow(SW_SHOW);
кажется, не имеют никакого эффекта - даже свести к минимуму диалог не вызывает должного перерисовки. Как заставить кнопку перекрашивать обновленный цвет системы?
Обновление: Принуждение цветов после переключения режима контрастности только делает текст кнопки видимым, однако сама кнопка, граница, не видна.
m_ctrlOkButton.SetFaceColor(::GetSysColor(COLOR_BTNFACE));
m_ctrlOkButton.SetTextColor(::GetSysColor(COLOR_BTNTEXT));
CMFCMenuButton - владелец draw. При этом элемент управления не обнаруживает изменения в цветовой схеме пользовательского интерфейса, поэтому вам может потребоваться определить изменение контрастности и изменить цвета кнопки, чтобы показать ее. – 1201ProgramAlarm
@ 1201ProgramAlarm Спасибо за подсказку, в которой удалось решить это тем временем ... – MrTux