DLGTEMPLATE 構造体 (winuser.h)
ダイアログ ボックスの寸法とスタイルを定義します。 この構造体は、ダイアログ ボックスの標準テンプレートの最初の構造であり、ダイアログ ボックス内のコントロールの数も指定するため、テンプレート内の後続の DLGITEMTEMPLATE 構造体の数を指定します。
構文
typedef struct {
DWORD style;
DWORD dwExtendedStyle;
WORD cdit;
short x;
short y;
short cx;
short cy;
} DLGTEMPLATE;
メンバー
style
型: DWORD
ダイアログ ボックスのスタイル。 このメンバーは、 ウィンドウ スタイル値 ( WS_CAPTION や WS_SYSMENUなど) と ダイアログ ボックス のスタイル値 ( DS_CENTERなど) の組み合わせにすることができます。
スタイル メンバーに DS_SETFONT スタイルが含まれている場合、ダイアログ ボックス テンプレートのヘッダーには、クライアント領域のテキストとダイアログ ボックスのコントロールに使用するフォントを指定する追加のデータが含まれます。 フォント データは、タイトル配列の後の WORD 境界から始まります。 フォント データは、16 ビット のポイント サイズ値と Unicode フォント名の文字列を指定します。 可能であれば、指定した値に従ってフォントが作成されます。 その後、システムはダイアログ ボックスと各コントロールに WM_SETFONT メッセージを送信して、フォントへのハンドルを提供します。 DS_SETFONTが指定されていない場合、ダイアログ ボックス テンプレートにはフォント データは含まれません。
DS_SHELLFONT スタイルは、DLGTEMPLATE ヘッダーではサポートされていません。
dwExtendedStyle
型: DWORD
ウィンドウの拡張スタイル。 このメンバーはダイアログ ボックスの作成には使用されませんが、ダイアログ ボックス テンプレートを使用するアプリケーションでは、それを使用して他の種類のウィンドウを作成できます。 値の一覧については、「 拡張ウィンドウ のスタイル」を参照してください。
cdit
種類: WORD
ダイアログ ボックス内のアイテムの数。
x
型: short
ダイアログ ボックスの左上隅の x 座標 (ダイアログ ボックス単位)。
y
型: short
ダイアログ ボックスの左上隅の y 座標 (ダイアログ ボックス単位)。
cx
型: short
ダイアログ ボックスの幅 (ダイアログ ボックス単位)。
cy
型: short
ダイアログ ボックスの高さ (ダイアログ ボックス単位)。
注釈
ダイアログ ボックスの標準テンプレートでは、 DLGTEMPLATE 構造体の直後に、ダイアログ ボックスのメニュー、クラス、タイトルを指定する 3 つの可変長配列が常に続きます。 DS_SETFONT スタイルを指定すると、これらの配列の後に、ポイント サイズを指定する 16 ビット値と、書体名を指定する別の可変長配列も続きます。 各配列は、1 つ以上の 16 ビット要素で構成されます。 メニュー、クラス、タイトル、およびフォント配列は、 WORD の境界に配置する必要があります。
DLGTEMPLATE 構造体の直後には、ダイアログ ボックスのメニュー リソースを識別するメニュー配列があります。 この配列の最初の要素が0x0000場合、ダイアログ ボックスにはメニューがなく、配列には他の要素はありません。 最初の要素が0xFFFF場合、配列には、実行可能ファイル内のメニュー リソースの序数値を指定する 1 つの追加要素があります。 最初の要素に他の値がある場合、システムは配列を、実行可能ファイル内のメニュー リソースの名前を指定する null で終わる Unicode 文字列として扱います。
メニュー配列の後には、ダイアログ ボックスのウィンドウ クラスを識別するクラス配列があります。 配列の最初の要素が0x0000場合、システムはダイアログ ボックスに定義済みのダイアログ ボックス クラスを使用し、配列には他の要素はありません。 最初の要素が0xFFFFの場合、配列には、定義済みのシステム ウィンドウ クラスの序数値を指定する 1 つの追加要素があります。 最初の要素に他の値がある場合、システムは、登録されたウィンドウ クラスの名前を指定する null で終わる Unicode 文字列として配列を扱います。
クラス配列の後には、ダイアログ ボックスのタイトルを含む null で終わる Unicode 文字列を指定するタイトル配列があります。 この配列の最初の要素が0x0000場合、ダイアログ ボックスにはタイトルがなく、配列には他の要素はありません。
16 ビット のポイント サイズ値と書体配列はタイトル配列の後に続きますが、スタイル メンバーがDS_SETFONT スタイル を指定している場合に限ります。 ポイント サイズの値は、ダイアログ ボックスとそのコントロールのテキストに使用するフォントのポイント サイズを指定します。 書体配列は、フォントの書体の名前を指定する null で終わる Unicode 文字列です。 これらの値を指定すると、システムは、指定したサイズと書体 (可能な場合) を持つフォントを作成し、ダイアログ ボックス と コントロールを作成するときに、ダイアログ ボックス プロシージャとコントロール ウィンドウ プロシージャに WM_SETFONT メッセージを 送信します。
標準ダイアログ ボックス テンプレートの DLGTEMPLATE ヘッダーの後には、ダイアログ ボックス内のコントロールの寸法とスタイルを定義する 1 つ以上の DLGITEMTEMPLATE 構造体があります。 cdit メンバーは、テンプレート内の DLGITEMTEMPLATE 構造体の数を指定します。 これらの DLGITEMTEMPLATE 構造体は 、DWORD 境界に配置する必要があります。
メニュー、クラス、タイトル、または書体の配列で文字列を指定する場合は、Unicode 文字列を使用する必要があります。
x、y、cx、cy の各メンバーは、ダイアログ ボックスの単位で値を指定します。 MapDialogRect 関数を使用して、これらの値を画面単位 (ピクセル) に変換できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | winuser.h (Windows.h を含む) |
関連項目
概念
その他のリソース
参照