DLGTEMPLATE 構造体 (winuser.h)

ダイアログ ボックスの寸法とスタイルを定義します。 この構造体は、ダイアログ ボックスの標準テンプレートの最初の構造であり、ダイアログ ボックス内のコントロールの数も指定するため、テンプレート内の後続の DLGITEMTEMPLATE 構造体の数を指定します。

構文

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  WORD  cdit;
  short x;
  short y;
  short cx;
  short cy;
} DLGTEMPLATE;

メンバー

style

型: DWORD

ダイアログ ボックスのスタイル。 このメンバーは、 ウィンドウ スタイル値 ( WS_CAPTIONWS_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 文字列を使用する必要があります。

xycx、cy の各メンバーは、ダイアログ ボックスの単位で値を指定します。 MapDialogRect 関数を使用して、これらの値を画面単位 (ピクセル) に変換できます。

要件

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

関連項目

概念

CreateDialogIndirect

CreateDialogIndirectParam

DLGITEMTEMPLATE

DLGITEMTEMPLATEEX

DLGTEMPLATEEX

ダイアログ ボックス

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

その他のリソース

参照