DIALOG_DPI_CHANGE_BEHAVIORS enumeration (winuser.h)

In Per Monitor v2 contexts, dialogs will automatically respond to DPI changes by resizing themselves and re-computing the positions of their child windows (here referred to as re-layouting). This enum works in conjunction with SetDialogDpiChangeBehavior in order to override the default DPI scaling behavior for dialogs.

This does not affect DPI scaling behavior for the child windows of dialogs (beyond re-layouting), which is controlled by DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.

Syntax

typedef enum DIALOG_DPI_CHANGE_BEHAVIORS {
  DDC_DEFAULT = 0x0000,
  DDC_DISABLE_ALL = 0x0001,
  DDC_DISABLE_RESIZE = 0x0002,
  DDC_DISABLE_CONTROL_RELAYOUT = 0x0004
} ;

Constants

 
DDC_DEFAULT
Value: 0x0000
The default behavior of the dialog manager. In response to a DPI change, the dialog manager will re-layout each control, update the font on each control, resize the dialog, and update the dialog's own font.
DDC_DISABLE_ALL
Value: 0x0001
Prevents the dialog manager from responding to WM_GETDPISCALEDSIZE and WM_DPICHANGED, disabling all default DPI scaling behavior.
DDC_DISABLE_RESIZE
Value: 0x0002
Prevents the dialog manager from resizing the dialog in response to a DPI change.
DDC_DISABLE_CONTROL_RELAYOUT
Value: 0x0004
Prevents the dialog manager from re-layouting all of the dialogue's immediate children HWNDs in response to a DPI change.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1703 [desktop apps only]
Minimum supported server Windows Server 2016 [desktop apps only]
Header winuser.h

See also

DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS

GetDialogDpiChangeBehavior

SetDialogDpiChangeBehavior