DLGITEMTEMPLATE 構造体 (winuser.h)
ダイアログ ボックス内のコントロールの寸法とスタイルを定義します。 これらの構造体の 1 つ以上を DLGTEMPLATE 構造体と組み合わせて、ダイアログ ボックスの標準テンプレートを形成します。
構文
typedef struct {
DWORD style;
DWORD dwExtendedStyle;
short x;
short y;
short cx;
short cy;
WORD id;
} DLGITEMTEMPLATE;
メンバー
style
型: DWORD
コントロールのスタイル。 このメンバーには、 ウィンドウ スタイル値 ( WS_BORDER など) と 1 つ以上の コントロール スタイル値 ( BS_PUSHBUTTON や ES_LEFTなど) を組み合わせて使用できます。
dwExtendedStyle
型: DWORD
ウィンドウの拡張スタイル。 このメンバーは、ダイアログ ボックスでコントロールを作成するために使用されませんが、ダイアログ ボックス テンプレートを使用するアプリケーションでは、それを使用して他の種類のウィンドウを作成できます。 値の一覧については、「 拡張ウィンドウ のスタイル」を参照してください。
x
型: short
コントロールの左上隅の x 座標 (ダイアログ ボックス単位)。 この座標は、常にダイアログ ボックスのクライアント領域の左上隅を基準にしています。
y
型: short
コントロールの左上隅の y 座標 (ダイアログ ボックス単位)。 この座標は、常にダイアログ ボックスのクライアント領域の左上隅を基準にしています。
cx
型: short
コントロールの幅 (ダイアログ ボックス単位)。
cy
型: short
コントロールの高さ (ダイアログ ボックス単位)。
id
種類: WORD
コントロール識別子。
解説
ダイアログ ボックスの標準テンプレートでは、 DLGITEMTEMPLATE 構造体の直後に、コントロールのクラス、タイトル、および作成データを指定する 3 つの可変長配列が常に続きます。 各配列は、1 つ以上の 16 ビット要素で構成されます。
テンプレート内の各 DLGITEMTEMPLATE 構造体は 、DWORD 境界に配置する必要があります。 クラスとタイトルの配列は 、WORD の境界に配置する必要があります。 作成データ配列は 、WORD 境界に配置する必要があります。
各 DLGITEMTEMPLATE 構造体の直後には、コントロールのウィンドウ クラスを指定するクラス配列があります。 この配列の最初の要素が0xFFFF以外の値である場合、システムは、登録されたウィンドウ クラスの名前を指定する null で終わる Unicode 文字列として配列を扱います。 最初の要素が0xFFFF場合、配列には、定義済みのシステム クラスの序数値を指定する 1 つの追加要素があります。 序数には、次のいずれかの atom 値を指定できます。
値 | 説明 |
---|---|
0x0080 | Button |
0x0081 | 編集 |
0x0082 | スタティック |
0x0083 | リスト ボックス |
0x0084 | スクロール バー |
0x0085 | コンボ ボックス |
クラス配列の後には、コントロールの最初のテキストまたはリソース識別子を含むタイトル配列があります。 この配列の最初の要素が0xFFFF場合、配列には、実行可能ファイル内のアイコンなどのリソースの序数値を指定する 1 つの追加要素があります。 テキストではなくアイコンやその他のリソースを読み込んで表示する静的アイコン コントロールなどのコントロールには、リソース識別子を使用できます。 最初の要素が0xFFFF以外の値である場合、システムは配列を、初期テキストを指定する null で終わる Unicode 文字列として扱います。
作成データ配列は、タイトル配列の後の次の WORD 境界から始まります。 この作成データは、任意のサイズと形式にすることができます。 作成データ配列の最初の単語が 0 以外の場合は、作成データのサイズ (サイズ ワードを含む) をバイト単位で示します。 コントロールのウィンドウ プロシージャは、データを解釈できる必要があります。 システムは、コントロールを作成するときに、コントロールに送信するWM_CREATE メッセージの lParam パラメーターで、このデータへのポインターを渡します。
クラス配列とタイトル配列で文字列を指定する場合は、Unicode 文字列を使用する必要があります。 MultiByteToWideChar 関数を使用して、ANSI 文字列から Unicode 文字列を生成します。
x、y、cx、cy の各メンバーは、ダイアログ ボックスの単位で値を指定します。 MapDialogRect 関数を使用して、これらの値を画面の単位 (ピクセル) に変換できます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | winuser.h (Windows.h を含む) |
関連項目
概念
その他のリソース
リファレンス