Share via


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

ダイアログ ボックスのスタイル。 このメンバーには、 ウィンドウ スタイル値ダイアログ ボックス スタイル値の組み合わせを指定できます。

styleDS_SETFONT または DS_SHELLFONT ダイアログ ボックス スタイルが含まれている場合、拡張ダイアログ ボックス テンプレートの DLGTEMPLATEEX ヘッダーには、クライアント領域のテキストとダイアログ ボックスのコントロールに使用するフォントを記述する 4 つの追加メンバー (pointsizeweightitalictypeface) が含まれます。 可能であれば、これらのメンバーで指定された値に従ってフォントが作成されます。 その後、システムはダイアログ ボックスと各コントロールに 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

使用する文字セット。 詳細については、LOGFONTlfcharset メンバーを参照してください。

このメンバーは、 スタイル メンバーが DS_SETFONT または DS_SHELLFONTを指定している場合にのみ存在します。

書体

型: WCHAR[stringLen]

フォントの書体の名前。

このメンバーは、 スタイル メンバーが DS_SETFONT または DS_SHELLFONTを指定している場合にのみ存在します。

注釈

CreateDialogIndirectParam、DialogBoxIndirectParam、CreateDialogIndirectDialogBoxIndirect 関数では、標準のダイアログ ボックス テンプレートの代わりに拡張ダイアログ ボックス テンプレートを使用できます。

拡張ダイアログ ボックス テンプレートの DLGTEMPLATEEX ヘッダーの後には、ダイアログ ボックスのコントロールを記述する 1 つ以上の DLGITEMTEMPLATEEX 構造体があります。 DLGITEMTEMPLATEEX 構造体の cDlgItems メンバーは、テンプレートに続く DLGITEMTEMPLATEEX 構造体の数を指定します。

テンプレート内の各 DLGITEMTEMPLATEEX 構造体は 、DWORD 境界に配置する必要があります。 スタイル メンバーがDS_SETFONTまたはDS_SHELLFONTスタイルを指定する場合、最初の DLGITEMTEMPLATEEX 構造体は、書体文字列の後の最初の DWORD 境界で始まります。 これらのスタイルを指定しない場合、最初の構造体はタイトル文字列の後の最初の DWORD 境界から始まります。

メニューwindowClasstitle、および typeface 配列は、WORD の境界に配置する必要があります。

メニューwindowClasstitle、および typeface 配列で文字列を指定する場合は、Unicode 文字列を使用する必要があります。 MultiByteToWideChar 関数を使用して、ANSI 文字列からこれらの Unicode 文字列を生成します。

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

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]

関連項目

参照

CreateDialogIndirect

CreateDialogIndirectParam

DialogBoxIndirect

DialogBoxIndirectParam

DLGITEMTEMPLATEEX

MapDialogRect

WM_SETFONT

概念

ダイアログ ボックス

その他のリソース

Logfont

MultiByteToWideChar