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