DLGTEMPLATEEX 構造体
拡張ダイアログ ボックス テンプレートは、ダイアログ ボックスを記述し、ダイアログ ボックス内のコントロールの数を指定する DLGTEMPLATEEX ヘッダーで始まります。 ダイアログ ボックス内の各コントロールについて、拡張ダイアログ ボックス テンプレートには、 DLGITEMTEMPLATEEX 形式を使用してコントロールを記述するデータ ブロックがあります。
DLGTEMPLATEEX 構造体は、標準ヘッダー ファイルで定義されていません。 ダイアログ ボックスの拡張テンプレートの形式を説明するために、構造定義がここに用意されています。
構文
typedef struct {
WORD dlgVer;
WORD signature;
DWORD helpID;
DWORD exStyle;
DWORD style;
WORD cDlgItems;
short x;
short y;
short cx;
short cy;
sz_Or_Ord menu;
sz_Or_Ord windowClass;
WCHAR title[titleLen];
WORD pointsize;
WORD weight;
BYTE italic;
BYTE charset;
WCHAR typeface[stringLen];
} DLGTEMPLATEEX;
メンバー
-
dlgVer
-
種類: WORD
-
拡張ダイアログ ボックス テンプレートのバージョン番号。 このメンバーは 1 に設定する必要があります。
-
signature
-
種類: WORD
-
テンプレートが拡張ダイアログ ボックス テンプレートであるかどうかを示します。 signature が0xFFFF場合、これは拡張ダイアログ ボックス テンプレートです。 この場合、 dlgVer メンバーはテンプレートのバージョン番号を指定します。 signature が0xFFFF以外の値である場合、これは DLGTEMPLATE および DLGITEMTEMPLATE 構造体を使用する標準のダイアログ ボックス テンプレートです。
-
helpID
-
型: DWORD
-
ダイアログ ボックス ウィンドウのヘルプ コンテキスト識別子。 システムは、WM_HELP メッセージを送信すると、HELPINFO 構造体の wContextId メンバーにこの値を渡します。
-
exStyle
-
型: DWORD
-
拡張ウィンドウ スタイル。 このメンバーはダイアログ ボックスの作成時には使用されませんが、ダイアログ ボックス テンプレートを使用するアプリケーションでは、そのメンバーを使用して他の種類のウィンドウを作成できます。 値の一覧については、「 拡張ウィンドウ のスタイル」を参照してください。
-
style
-
型: DWORD
-
ダイアログ ボックスのスタイル。 このメンバーには、 ウィンドウ スタイル値 と ダイアログ ボックス スタイル値の組み合わせを指定できます。
style に DS_SETFONT または DS_SHELLFONT ダイアログ ボックス スタイルが含まれている場合、拡張ダイアログ ボックス テンプレートの DLGTEMPLATEEX ヘッダーには、クライアント領域のテキストとダイアログ ボックスのコントロールに使用するフォントを記述する 4 つの追加メンバー (pointsize、weight、italic、typeface) が含まれます。 可能であれば、これらのメンバーで指定された値に従ってフォントが作成されます。 その後、システムはダイアログ ボックスと各コントロールに WM_SETFONT メッセージを送信して、フォントへのハンドルを提供します。
詳細については、「 ダイアログ ボックスのフォント」を参照してください。
-
cDlgItems
-
種類: WORD
-
ダイアログ ボックス内のコントロールの数。
-
x
-
型: short
-
ダイアログ ボックスの左上隅の x 座標 (ダイアログ ボックス単位)。
-
y
-
型: short
-
ダイアログ ボックスの左上隅の y 座標 (ダイアログ ボックス単位)。
-
cx
-
型: short
-
ダイアログ ボックスの幅 (ダイアログ ボックス単位)。
-
cy
-
型: short
-
ダイアログ ボックスの高さ (ダイアログ ボックス単位)。
-
menu
-
種類: sz_Or_Ord
-
ダイアログ ボックスのメニュー リソースを識別する 16 ビット要素の可変長配列。 この配列の最初の要素が0x0000場合、ダイアログ ボックスにはメニューがなく、配列には他の要素はありません。 最初の要素が0xFFFF場合、配列には、実行可能ファイル内のメニュー リソースの序数値を指定する 1 つの追加要素があります。 最初の要素に他の値がある場合、システムは配列を、実行可能ファイル内のメニュー リソースの名前を指定する null で終わる Unicode 文字列として扱います。
-
windowClass
-
種類: sz_Or_Ord
-
ダイアログ ボックスのウィンドウ クラスを識別する 16 ビット要素の可変長配列。 配列の最初の要素が0x0000場合、システムはダイアログ ボックスに定義済みのダイアログ ボックス クラスを使用し、配列には他の要素はありません。 最初の要素が0xFFFFの場合、配列には、定義済みのシステム ウィンドウ クラスの序数値を指定する 1 つの追加要素があります。 最初の要素に他の値がある場合、システムは、登録されたウィンドウ クラスの名前を指定する null で終わる Unicode 文字列として配列を扱います。
-
title
-
種類: WCHAR[titleLen]
-
ダイアログ ボックスのタイトル。 この配列の最初の要素が0x0000場合、ダイアログ ボックスにはタイトルがなく、配列には他の要素はありません。
-
pointsize
-
種類: WORD
-
ダイアログ ボックスとそのコントロールのテキストに使用するフォントのポイント サイズ。
このメンバーは、 スタイル メンバーが DS_SETFONT または DS_SHELLFONTを指定している場合にのみ存在します。
-
weight
-
種類: WORD
-
フォントの太さ。 これは LOGFONT 構造体の lfWeight メンバーにリストされている値のいずれかになりますが、使用されるすべての値は自動的にFW_NORMALに変更されることに注意してください。
このメンバーは、 スタイル メンバーが DS_SETFONT または DS_SHELLFONTを指定している場合にのみ存在します。
-
斜体
-
型: BYTE
-
フォントが斜体かどうかを示します。 この値が TRUE の場合、フォントは斜体になります。
このメンバーは、 スタイル メンバーが DS_SETFONT または DS_SHELLFONTを指定している場合にのみ存在します。
-
charset
-
型: BYTE
-
使用する文字セット。 詳細については、LOGFONT の lfcharset メンバーを参照してください。
このメンバーは、 スタイル メンバーが DS_SETFONT または DS_SHELLFONTを指定している場合にのみ存在します。
-
書体
-
型: WCHAR[stringLen]
-
フォントの書体の名前。
このメンバーは、 スタイル メンバーが DS_SETFONT または DS_SHELLFONTを指定している場合にのみ存在します。
注釈
CreateDialogIndirectParam、DialogBoxIndirectParam、CreateDialogIndirect、DialogBoxIndirect 関数では、標準のダイアログ ボックス テンプレートの代わりに拡張ダイアログ ボックス テンプレートを使用できます。
拡張ダイアログ ボックス テンプレートの DLGTEMPLATEEX ヘッダーの後には、ダイアログ ボックスのコントロールを記述する 1 つ以上の DLGITEMTEMPLATEEX 構造体があります。 DLGITEMTEMPLATEEX 構造体の cDlgItems メンバーは、テンプレートに続く DLGITEMTEMPLATEEX 構造体の数を指定します。
テンプレート内の各 DLGITEMTEMPLATEEX 構造体は 、DWORD 境界に配置する必要があります。 スタイル メンバーがDS_SETFONTまたはDS_SHELLFONTスタイルを指定する場合、最初の DLGITEMTEMPLATEEX 構造体は、書体文字列の後の最初の DWORD 境界で始まります。 これらのスタイルを指定しない場合、最初の構造体はタイトル文字列の後の最初の DWORD 境界から始まります。
メニュー、windowClass、title、および typeface 配列は、WORD の境界に配置する必要があります。
メニュー、windowClass、title、および typeface 配列で文字列を指定する場合は、Unicode 文字列を使用する必要があります。 MultiByteToWideChar 関数を使用して、ANSI 文字列からこれらの Unicode 文字列を生成します。
x、y、cx、cy の各メンバーは、ダイアログ ボックスの単位で値を指定します。 MapDialogRect 関数を使用して、これらの値を画面の単位 (ピクセル) に変換できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |