Função SetDialogDpiChangeBehavior (winuser.h)

As caixas de diálogo em contextos v2 por monitor são dimensionadas automaticamente. Esse método permite personalizar o comportamento de alteração de DPI.

Essa função funciona em conjunto com a enumeração DIALOG_DPI_CHANGE_BEHAVIORS para substituir o comportamento de dimensionamento de DPI padrão para caixas de diálogo. Essa função é chamada em uma caixa de diálogo especificada, para a qual os sinalizadores especificados são salvos individualmente.

Essa função não afeta o comportamento de dimensionamento de DPI para as janelas filho da caixa de diálogo em questão – isso é feito com SetDialogControlDpiChangeBehavior.

Sintaxe

BOOL SetDialogDpiChangeBehavior(
  HWND                        hDlg,
  DIALOG_DPI_CHANGE_BEHAVIORS mask,
  DIALOG_DPI_CHANGE_BEHAVIORS values
);

Parâmetros

hDlg

Um identificador para a caixa de diálogo cujo comportamento será modificado.

mask

Uma máscara que especifica o subconjunto de sinalizadores a ser alterado.

values

O valor desejado a ser definido para o subconjunto de sinalizadores especificado.

Retornar valor

Essa função retornará TRUE se a operação tiver sido bem-sucedida e, caso contrário, FALSE. Para obter informações de erro estendidas, chame GetLastError.

Erros possíveis serão ERROR_INVALID_HANDLE se forem passados um HWND de caixa de diálogo inválido e ERROR_ACCESS_DENIED se a caixa de diálogo pertencer a outro processo.

Comentários

Para extensibilidade, DIALOG_DPI_CHANGE_BEHAVIORS foi modelado como um conjunto de sinalizadores de bits que representam comportamentos separados. Essa função segue a abordagem típica de dois parâmetros para definir sinalizadores, em que uma máscara especifica o subconjunto dos sinalizadores a serem alterados.

Não é um erro chamar essa API fora dos contextos de Per Monitor v2, embora os sinalizadores não tenham efeito sobre o comportamento da caixa de diálogo especificada até que o contexto seja alterado para Por Monitor v2.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1703 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2016 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h
Biblioteca User32.lib
DLL User32.dll

Confira também

DIALOG_DPI_CHANGE_BEHAVIORS

GetDialogDpiChangeBehavior