дескриптор DPI_AWARENESS_CONTEXT
Определяет контекст осведомленности для окна.
Синтаксис
#define DPI_AWARENESS_CONTEXT_UNAWARE ((DPI_AWARENESS_CONTEXT)-1)
#define DPI_AWARENESS_CONTEXT_SYSTEM_AWARE ((DPI_AWARENESS_CONTEXT)-2)
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ((DPI_AWARENESS_CONTEXT)-3)
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ((DPI_AWARENESS_CONTEXT)-4)
#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ((DPI_AWARENESS_CONTEXT)-5)
Константы
DPI_AWARENESS_CONTEXT_UNAWARE
- DPI не подозревает. Это окно не масштабируется при изменении DPI и всегда предполагается, что коэффициент масштабирования составляет 100 % (96 точек на дюйм). Он будет автоматически масштабироваться системой при любом другом параметре DPI.
DPI_AWARENESS_CONTEXT_SYSTEM_AWARE
- С учетом системного DPI. Это окно не масштабируется для изменения DPI. Он будет запрашивать DPI один раз и использовать это значение в течение времени существования процесса. При изменении DPI процесс не будет настраиваться на новое значение DPI. Он будет автоматически масштабироваться системой при изменении DPI от системного значения.
DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE
- Для каждого монитора учитывается DPI. Это окно проверяет наличие DPI при его создании и корректирует коэффициент масштабирования при каждом изменении DPI. Эти процессы не масштабируются системой автоматически.
DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2
- Также называется per Monitor версии 2. Усовершенствование по сравнению с исходным режимом осведомленности о DPI для каждого монитора, который позволяет приложениям получать доступ к новым режимам масштабирования, связанным с DPI, для каждого окна верхнего уровня.
- Уведомления об изменении DPI дочернего окна . В контекстах "На монитор" версии 2 все дерево окна получает уведомление о любых изменениях DPI.
- Масштабирование неклиентской области — все окна будут автоматически иметь неклиентская область, нарисованная с учетом DPI. Вызовы EnableNonClientDpiScaling не нужны.
- Масштабирование меню Win32 . Все меню NTUSER, созданные в контекстах "На монитор" версии 2, будут масштабироваться для каждого монитора.
- Масштабирование диалогов . Диалоговые окна Win32, созданные в контекстах "На монитор" версии 2, будут автоматически реагировать на изменения DPI.
- Улучшенное масштабирование элементов управления comctl32 . Различные элементы управления comctl32 улучшили поведение масштабирования DPI в контекстах "На монитор" версии 2.
- Улучшенное поведение тем . Дескрипторы UxTheme, открытые в контексте окна "На монитор" версии 2, будут работать с точки зрения DPI, связанного с этим окном.
Per Monitor версии 2 был доступен в обновлении Creators Update Windows 10 и недоступен в более ранних версиях операционной системы.
Ниже приведены дополнительные варианты поведения.
DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED
DPI не учитывается с улучшенным качеством содержимого на основе GDI. Этот режим работает аналогично DPI_AWARENESS_CONTEXT_UNAWARE, но также позволяет системе автоматически улучшать качество отрисовки текста и других примитивов на основе GDI при отображении окна на мониторе с высоким разрешением.
Дополнительные сведения см. в статье Улучшение работы с высоким разрешением на дюйм в классических приложениях на основе GDI.
DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED появилась в обновлении Windows 10 за октябрь 2018 г. (версия 1809).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 10 версии 1607 [только классические приложения] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
Заголовок |
|
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по