Skip to main content

TdxProcessDpiAwareness Enum

Enumerates process DPI awareness modes.

Declaration

TdxProcessDpiAwareness = (
    pdaUnaware,
    pdaSystemDpiAware,
    pdaPerMonitorDpiAware,
    pdaPerMonitorDpiAwareV2,
    pdaUnawareGdiScaled
);

Members

Name Description
pdaUnaware

The application is DPI-unaware and is always assumed to have a scale factor of 100% that corresponds to 96 DPI. The host operating system always scales DPI-unaware applications automatically on any other DPI setting, which results in blurred visual elements.

pdaSystemDpiAware

System DPI awareness mode is available in all operating systems since Microsoft Windows® XP.

An application is aware of the system DPI (that is, the DPI value of the primary display at the time of a user session start) and scales its visual elements accordingly only at launch. The host operating system automatically upscales or downscales such applications in response to any DPI changes (for instance, when a user moves the application window between screens that have different DPIs).

pdaPerMonitorDpiAware

Per-monitor DPI awareness (v1) mode is available in Microsoft Windows® 8.1 operating system and later, while a window’s non-client area scales only since the Windows® 10 Anniversary Update (build 1607).

In this mode, the application is per-monitor DPI-aware and scales its visual elements dynamically in response to WM_DPICHANGED messages it receives every time the monitor DPI changes. DPI-aware applications offer the best user experience in a multi-monitor environment, since they never rely on the automatic UI scale functionality of the host operating system.

pdaPerMonitorDpiAwareV2

Support for per-monitor DPI awareness (v2) mode is available in Microsoft Windows® 10 Creators Update (build 1703).

This mode is similar to per-monitor DPI awareness (v1) mode but the host operating system also automatically scales non-client window areas (such as the caption bar, scrollbars, etc.), system dialogs, and Native Theme-painted controls. The operating system loads several sets of theme-drawn bitmap assets designed for all target DPIs that the connected monitors have.

pdaUnawareGdiScaled

GDI Scaled mode is available since the October 2018 Windows® 10 update (build 1809).

An application is unaware of system DPI changes but the host operating system automatically scales text and GDI-based primitives when the application’s window is displayed on a high-DPI monitor.

Note

The DirectX® render mode is unavailable if an application enables GDI Scaled mode because it draws DirectX-rendered controls unscaled at their original (unscaled) positions.

Remarks

The dxGetProcessDpiAwareness and dxSetProcessDpiAwareness global functions reference the TdxProcessDpiAwareness type.

Note

DevExpress controls support all DPI awareness modes. Refer to the following topics for details:

See Also