DPI_AWARENESS 열거형(windef.h)
스레드, 프로세스 또는 창에 대한 dpi(인치당 점 수) 설정을 식별합니다.
Syntax
typedef enum DPI_AWARENESS {
DPI_AWARENESS_INVALID = -1,
DPI_AWARENESS_UNAWARE = 0,
DPI_AWARENESS_SYSTEM_AWARE = 1,
DPI_AWARENESS_PER_MONITOR_AWARE = 2
} ;
상수
DPI_AWARENESS_INVALID 값: -1 잘못된 DPI 인식. 잘못된 DPI 인식 값입니다. |
DPI_AWARENESS_UNAWARE 값: 0 DPI를 인식하지 못합니다. 이 프로세스는 DPI 변경에 맞게 스케일링되지 않으며 항상 100%(96DPI)의 배율 인수를 갖는 것으로 간주됩니다. 다른 DPI 설정에서 시스템에 의해 자동으로 크기가 조정됩니다. |
DPI_AWARENESS_SYSTEM_AWARE 값: 1 시스템 DPI 인식. 이 프로세스는 DPI 변경에 대해 크기가 조정되지 않습니다. DPI를 한 번 쿼리하고 프로세스의 수명 동안 해당 값을 사용합니다. DPI가 변경되면 프로세스가 새 DPI 값으로 조정되지 않습니다. DPI가 시스템 값에서 변경되면 시스템에 의해 자동으로 확장 또는 축소됩니다. |
DPI_AWARENESS_PER_MONITOR_AWARE 값: 2 모니터별 DPI 인식. 이 프로세스는 DPI를 만들 때 DPI를 확인하고 DPI가 변경 될 때마다 배율 인수를 조정합니다. 이러한 프로세스는 시스템에 의해 자동으로 스케일링되지 않습니다. |
설명
이전 버전의 Windows에서 DPI 값은 전체 애플리케이션에 대해 한 번만 설정되었습니다. 이러한 앱의 경우 PROCESS_DPI_AWARENESS 유형은 전체 애플리케이션에 대한 DPI 인식 유형을 결정했습니다. 현재 DPI 인식은 개별 스레드, 창 또는 프로세스 수준에서 정의되며 DPI_AWARENESS 형식으로 표시됩니다. 포커스가 프로세스 수준에서 스레드 수준으로 이동하는 동안 다양한 종류의 DPI 인식은 인식되지 않는, 시스템 인식 및 모니터별 인식과 동일합니다. 자세한 설명과 다양한 DPI 종류의 몇 가지 예제는 PROCESS_DPI_AWARENESS.
이전 권장 사항은 PROCESS_DPI_AWARENESS 설명된 대로 dpiAware 설정을 사용하여 애플리케이션 매니페스트에서 DPI 인식 수준을 정의하는 것이었습니다. 이제 DPI 인식이 전체 애플리케이션 대신 스레드 및 창에 연결되었으므로 앱 매니페스트에 새 창 설정이 추가됩니다. 이 설정은 dpiAwareness 이며 둘 다 매니페스트에 있는 경우 dpiAware 설정을 재정의합니다. 매니페스트를 사용하는 것이 좋지만 이제 SetThreadDpiAwarenessContext를 사용하여 앱이 실행되는 동안 DPI 인식을 변경할 수 있습니다.
애플리케이션에 DPI_AWARENESS_PER_MONITOR_AWARE 창이 있는 경우 WM_DPICHANGED메시지에 응답 하여 DPI를 추적해야 합니다.
예제
이 코드 조각은 애플리케이션 매니페스트에서 DPI_AWARENESS_SYSTEM_AWARE 값을 설정하는 방법을 보여 줍니다.
<dpiAwareness>System</dpiAwareness>
이 코드 조각은 애플리케이션 매니페스트에서 DPI_AWARENESS_PER_MONITOR_AWARE 값을 설정하는 방법을 보여 줍니다.
<dpiAwareness>PerMonitor</dpiAwareness>
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 [데스크톱 앱만 해당] |
지원되는 최소 서버 | 지원되는 버전 없음 |
머리글 | windef.h |