ダイアログ ボックスのスタイル

次の表に、ダイアログ ボックスを作成するときに指定できるダイアログ ボックス のスタイルを示します。 これらのスタイルは、CreateWindow 関数と CreateWindowEx 関数の呼び出し、DLGTEMPLATE および DLGTEMPLATEEX 構造体のスタイル メンバー、およびリソース ファイル内のダイアログ ボックス定義のステートメントで使用できます。

定数 説明
DS_3DLOOK
互換性のために残されています。 3 次元の外観は、アプリケーションによって作成されたダイアログ ボックスに自動的に適用されます。
DS_ABSALIGN
ダイアログ ボックスの座標が画面座標であることを示します。 このスタイルを指定しない場合、座標はクライアント座標になります。
DS_CENTER
所有者ウィンドウを含むモニターの作業領域のダイアログ ボックスを中央に移動します。 所有者ウィンドウが指定されていない場合、ダイアログ ボックスはシステムによって決定されるモニターの作業領域の中央に配置されます。 作業領域は、タスク バーやアプリ バーによって隠されていない領域です。
DS_CENTERMOUSE
マウス カーソルのダイアログ ボックスを中央に配置します。
DS_CONTEXTHELP
ダイアログ ボックスのタイトル バーに疑問符が含まれます。 ユーザーがこの疑問符をクリックすると、カーソルは、疑問符付きのポインターに変化します。 ユーザーがダイアログ ボックスでコントロールをクリックすると、コントロールは WM_HELP メッセージを受け取ります。 コントロールはダイアログ ボックス プロシージャにメッセージを渡す必要があります。これにより、 HELP_WM_HELP コマンドを使用して関数を呼び出す必要があります。 ヘルプ アプリケーションには、通常、コントロールのヘルプを含むポップアップ ウィンドウが表示されます。
DS_CONTEXTHELPはプレースホルダーにすぎません。 ダイアログ ボックスが作成されると、 DS_CONTEXTHELP がチェックされ、存在する場合は、ダイアログ ボックスの拡張スタイルに WS_EX_CONTEXTHELP が追加されます。 WS_EX_CONTEXTHELP は、 WS_MAXIMIZEBOX または WS_MINIMIZEBOX スタイルでは使用できません。
DS_CONTROL
プロパティ シートのページと同様に、別のダイアログ ボックスの子ウィンドウと同様に動作するダイアログ ボックスを作成します。 このスタイルを使用すると、ユーザーは子ダイアログ ボックスのコントロール ウィンドウ内をタブしたり、アクセラレータ キーを使用したりできます。
DS_FIXEDSYS
ダイアログ ボックスで既定のSYSTEM_FONTではなく、SYSTEM_FIXED_FONTを使用します。 これは、3.0 より前の 16 ビット バージョンの Windows のシステム フォントと互換性のあるモノスペース フォントです。
DS_LOCALEDIT
16 ビット アプリケーションにのみ適用されます。 このスタイルは、アプリケーションのデータ セグメントからメモリを割り当てるために、ダイアログ ボックスの編集コントロールを指示します。 それ以外の場合、エディット コントロールはグローバル メモリ オブジェクトからストレージを割り当てます。
DS_MODALFRAME
WS_CAPTIONスタイルとWS_SYSMENUスタイルを指定することで、タイトル バーとウィンドウ メニューと組み合わせることができるモーダル ダイアログ ボックス フレームを含むダイアログ ボックス作成します。
DS_NOFAILCREATE
たとえば、子ウィンドウを作成できない場合や、システムが編集コントロール用の特別なデータ セグメントを作成できない場合など、エラーが発生した場合でも、ダイアログ ボックスを作成します。
DS_NOIDLEMSG
ダイアログ ボックス WM_ENTERIDLE 表示中にシステムがダイアログ ボックスの所有者に送信するメッセージを抑制します。
DS_SETFONT
ダイアログ ボックス テンプレートのヘッダー (標準または拡張) に、クライアント領域のテキストとダイアログ ボックスのコントロールに使用するフォントを指定する追加データが含まれていることを示します。 可能であれば、指定したフォント データに従ってフォントが選択されます。 システムは、フォントへのハンドルをダイアログ ボックスと各コントロールに渡し、 WM_SETFONT メッセージを送信します。 このフォント データの形式については、「 DLGTEMPLATE 」および「 DLGTEMPLATEEX」を参照してください。
DS_SETFONTDS_SHELLFONTも指定されていない場合、ダイアログ ボックス テンプレートにはフォント データは含まれません。
DS_SETFOREGROUND
SetForegroundWindow 関数を使用してダイアログ ボックスをフォアグラウンドに移動します。 このスタイルは、所有者ウィンドウが前景ウィンドウであるかどうかに関係なく、ユーザーがすぐに注意を払う必要があるモーダル ダイアログ ボックスに役立ちます。
フォアグラウンド ウィンドウを設定できるプロセスが制限されます。 詳細については、「 フォアグラウンド ウィンドウとバックグラウンド ウィンドウ」を参照してください。
DS_SHELLFONT
ダイアログ ボックスでシステム フォントを使用することを示します。 拡張ダイアログ ボックス テンプレートの タイプフェイス メンバーは、MS Shell Dlg に設定する必要があります。 それ以外の場合、このスタイルは効果がありません。 DIALOG リソースではなく、DIALOGEX リソースを使用することもお勧めします。 詳細については、「 ダイアログ ボックスのフォント」を参照してください。
ポイント サイズ太さ斜体 の各メンバーで指定されたフォント データを使用して、フォントが選択されます。 システムは、フォントへのハンドルをダイアログ ボックスと各コントロールに渡し、 WM_SETFONT メッセージを送信します。 このフォント データの形式の説明については、「 DLGTEMPLATEEX」を参照してください。
DS_SHELLFONTDS_SETFONTも指定されていない場合、拡張ダイアログ ボックス テンプレートにはフォント データは含まれません。
DS_SYSMODAL
このスタイルは古く、16 ビット バージョンの Windows との互換性のために含まれています。 このスタイルを指定すると、 WS_EX_TOPMOST スタイルのダイアログ ボックスが作成されます。 このスタイルでは、ユーザーがデスクトップ上の他のウィンドウにアクセスできなくなります。
このスタイルを DS_CONTROL スタイルと組み合わせないでください。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む)