次の方法で共有


SetDialogDpiChangeBehavior 関数 (winuser.h)

モニターごとの v2 コンテキストのダイアログは、自動的に DPI スケーリングされます。 このメソッドを使用すると、DPI の変更動作をカスタマイズできます。

この関数は、ダイアログの既定の DPI スケーリング動作をオーバーライドするために 、DIALOG_DPI_CHANGE_BEHAVIORS 列挙型と連携して動作します。 この関数は、指定したフラグが個別に保存される指定されたダイアログで呼び出されます。

この関数は、対象のダイアログの子ウィンドウ ( SetDialogControlDpiChangeBehavior で実行される) の DPI スケーリング動作には影響しません。

構文

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

パラメーター

hDlg

動作が変更されるダイアログのハンドル。

mask

変更するフラグのサブセットを指定するマスク。

values

指定したフラグのサブセットに設定する目的の値。

戻り値

この関数は、操作が成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

無効なダイアログ HWND が渡された場合はエラーが ERROR_INVALID_HANDLE され、ダイアログが別のプロセスに属している場合 はERROR_ACCESS_DENIED 可能性があります。

注釈

機能拡張のために、 DIALOG_DPI_CHANGE_BEHAVIORS は個別の動作を表すビット フラグのセットとしてモデル化されました。 この関数は、フラグを設定するための一般的な 2 パラメーターアプローチに従います。ここで、マスクは変更するフラグのサブセットを指定します。

Per Monitor v2 コンテキストの外部でこの API を呼び出してもエラーではありません。ただし、コンテキストが Per Monitor v2 に変更されるまで、フラグは指定されたダイアログの動作には影響しません。

要件

要件
サポートされている最小のクライアント Windows 10、バージョン 1703 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h
Library User32.lib
[DLL] User32.dll

こちらもご覧ください

DIALOG_DPI_CHANGE_BEHAVIORS

GetDialogDpiChangeBehavior