Я обновляю существующее приложение Win32, чтобы оно поддерживало DPI. Следуя различным инструкциям на MSDN и других сайтах, я вручную масштабирую свои координаты и размеры шрифта в соответствии с текущим разрешением монитора.
Я только что наткнулся на это сообщение: CCM_DPISCALE . Документы говорят:
Включает автоматическое масштабирование высоких точек на дюйм (dpi) в Tree-View
элементы управления, элементы управления List-View, элементы управления ComboBoxEx, элементы управления заголовка,
Кнопки, элементы управления панели инструментов, элементы управления анимацией и списки изображений
Но что это на самом деле делает ? Я пытаюсь отправить сообщение на мой контроль следующим образом:
SendMessage(hWnd, CCM_DPISCALE, (WPARAM) TRUE, 0);
Но он не оказывает заметного влияния на шрифт, размер, расположение - что угодно, при любом DPI.
Я использую Comclt32.dll
версию 6.0 согласно документации.
Единственная ссылка, которую я могу найти на это сообщение при поиске в Google, - это страница MSDN и ссылка из документации LVCOLUMNA .
Что на самом деле должно делать это сообщение?