Проблема рисования MFC cdialogbar на экране с высоким разрешением DPI
У меня есть приложение MFC SDI, созданное и добавленное CDialogBar для установки в качестве главной панели инструментов, как вы смотрите на скриншоте, который я прикрепил. Он хорошо работает на всех ОС windows (Xp, 7, 8, 8.1, 10) планшетных устройств windows, за исключением только Microsoft Surface.
Пожалуйста, посмотрите на этот скриншот. меню CDialogBar отключено. Я не знаю, почему это происходит. Проблема рисования всегда возникает только на Microsoft Surface 3, которая имеет высокое разрешение и экран с высоким разрешением DPI и он хорошо работает на любом другом планшете. Это очень странная проблема, поэтому я перетащил панель инструментов (CDialogBar) и опустил ее на любое место, после чего панель инструментов была четко перекрашена. Итак... через этот вопрос я уверен, что это вопрос повторного рисования. Есть ли какая-нибудь функция рисования, чтобы перерисовать эту область?
Я прилагаю свой свернутый исходный код, чтобы представить проблему рисования.
Рисование Вопроса Screenschot
Минимальный исходный код для представления проблемы рисования
Пожалуйста, помогите мне. Спасибо
Операционная Система: Windows 10
Планшет: Microsoft Surface 3
Инструмент: Visual Studio 2015 Update 3
Скорость DPI: 150%
Что я уже пробовал:
Чтобы решить эту проблему, я пытался установить Осведомленность DPI свойства ни к чему, но графический интерфейс был не очень хорош, и все они были растянуты. Мне действительно не нравится это решение, я должен найти другое решение без установки Осведомленность DPI на "нет".