DRAWITEMSTRUCT 構造体 (winuser.h)
所有者ウィンドウが所有者描画コントロールまたはメニュー項目を描画する方法を決定するために使用する情報を提供します。 所有者描画コントロールまたはメニュー項目の所有者ウィンドウは、この構造体へのポインターを、WM_DRAWITEM メッセージの lParam パラメーターとして受け取ります。
構文
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
ULONG_PTR itemData;
} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;
メンバー
CtlType
型: UINT
コントロール型。 このメンバーには、次のいずれかの値を指定できます。 「解説」を参照してください。
値 | 意味 |
---|---|
|
所有者描画ボタン |
|
所有者描画コンボ ボックス |
|
所有者描画リスト ボックス |
|
リスト ビュー コントロール |
|
所有者描画メニュー項目 |
|
所有者描画の静的コントロール |
|
タブ コントロール |
CtlID
型: UINT
コンボ ボックス、リスト ボックス、ボタン、または静的コントロールの識別子。 このメンバーは、メニュー項目には使用されません。
itemID
型: UINT
メニュー項目のメニュー項目識別子、またはリスト ボックスまたはコンボ ボックス内の項目のインデックス。 空のリスト ボックスまたはコンボ ボックスの場合、このメンバーには を指定 -1
できます。 これにより、コントロールに項目がない場合でも、 アプリケーションは rcItem メンバーによって指定された座標にフォーカス四角形のみを描画できます。 これは、リスト ボックスまたはコンボ ボックスにフォーカスがあるかどうかをユーザーに示します。
itemAction メンバーでビットを設定する方法によって、リスト ボックスまたはコンボ ボックスにフォーカスがあるかのように四角形を描画するかどうかが決まります。
itemAction
型: UINT
必要な描画アクション。 このメンバーには、1 つ以上の値を指定できます。
itemState
型: UINT
現在の描画アクションが実行された後のアイテムの表示状態。 このメンバーは、次の表に示す値の組み合わせにすることができます。
hwndItem
種類: HWND
コンボ ボックス、リスト ボックス、ボタン、および静的コントロールのコントロールへのハンドル。 メニューの場合、このメンバーは項目を含むメニューへのハンドルです。
hDC
種類: HDC
デバイス コンテキストへのハンドル。このデバイス コンテキストは、コントロールに対して描画操作を実行するときに使用する必要があります。
rcItem
種類: RECT
描画するコントロールの境界を定義する四角形。 この四角形は、 hDC メンバーによって指定されたデバイス コンテキストにあります。 コンボ ボックス、リスト ボックス、ボタンのデバイス コンテキストで所有者ウィンドウが描画するものは自動的にクリップされますが、メニュー項目はクリップされません。 メニュー項目を描画する場合、所有者ウィンドウは 、rcItem メンバーによって定義された四角形の境界の外側に描画することはできません。
itemData
種類: ULONG_PTR
メニュー項目に関連付けられているアプリケーション定義の値。 コントロールの場合、このパラメーターは、 LB_SETITEMDATAまたはCB_SETITEMDATA メッセージによってリスト ボックスまたはコンボ ボックスに最後に割り当てられた値 を 指定します。 リスト ボックスまたはコンボ ボックスに LBS_HASSTRINGS または CBS_HASSTRINGS スタイルがある場合、この値は最初は 0 です。 それ以外の場合、この値は最初は、次のいずれかのメッセージの lParam パラメーターのリスト ボックスまたはコンボ ボックスに渡された値です。
CtlType がODT_BUTTONまたはODT_STATICの場合、itemData は 0 です。注釈
ステータス バーなどの一部のコントロールの種類では、 CtlType の値を設定しません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winuser.h (Windows.h を含む) |
こちらもご覧ください
リファレンス