DRAWITEMSTRUCT 構造体
DRAWITEMSTRUCT 構造体はオーナー描画のコントロールまたはメニュー項目を描画する方法をオーナー ウィンドウを特定するために必要な情報を提供します。
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
DWORD itemData;
} DRAWITEMSTRUCT;
パラメーター
CtlType
コントロール型。 コントロール型の値は次のとおりです。:ODT_BUTTONのオーナー描画ボタン
ODT_COMBOBOXのオーナー描画のコンボ ボックス
ODT_LISTBOXのオーナー描画のリスト ボックス
ODT_MENUのオーナー描画メニュー
ODT_LISTVIEWのリスト ビュー コントロール
ODT_STATICのオーナー描画のスタティック コントロール
ODT_TABのタブ コントロール
CtlID
コンボ ボックス、リスト ボックス、およびボタンのコントロール ID。 このメンバーは、メニューには使用されません。itemID
リスト ボックスやコンボ ボックスの項目のメニューまたはインデックスのメニュー項目 ID。 空のリスト ボックスやコンボ ボックスでは、このメンバーはコントロールに項目がない場合でも、アプリケーションが rcItem のメンバーで指定された座標にフォーカスを示す四角形を描画するように負の値です。 ユーザーがリスト ボックスやコンボ ボックスが入力フォーカスがあるかどうかをそのことを示すことができます。 itemAction メンバーのビットの設定はリスト ボックスやコンボ ボックスが入力フォーカスを持つように四角形を描画するかどうかを判定します。itemAction
必要な描画動作を定義します。 これは次のビットの一つ以上です:ODA_DRAWENTIREはこのビットと描画全体コントロールが設定されます。
ODA_FOCUSはこのビット コントロールが入力フォーカスを受け取ったか失ったときに設定されます。 itemState のメンバーはコントロールにフォーカスがあるかどうかを確認する必要があります。
ODA_SELECTはこのビット選択状態が変更された場合に設定されます。 itemState のメンバーが新しい選択状態を確認する必要があります。
itemState
現在の描画操作を行った後でアイテムの表示状態を指定します。 つまり、メニュー項目を淡色表示する場合 ODS_GRAYED 状態フラグが設定されます。 状態フラグは次のとおりです。:ODS_CHECKEDはこのビット メニュー項目がオンになっている場合に設定されます。 このビットは、メニューにのみ使用されます。
ODS_DISABLEDはこのビット項目が障害者として描画する場合に設定されます。
ODS_FOCUSはこのビット項目に入力フォーカスがある場合に設定されます。
ODS_GRAYEDはこのビット項目が淡色表示場合に設定されます。 このビットは、メニューにのみ使用されます。
ODS_SELECTEDはこのビット項目の選択状態が設定されます。
ODS_COMBOBOXEDITは ownerdrawn のコンボ ボックスのエディット コントロール選択フィールド () で描画されます。
ODS_DEFAULT項目は既定の項目です。
hwndItem
コンボ ボックス、リスト ボックス、ボタンにコントロールのウィンドウ ハンドルを指定します。 メニューの項目を含むメニュー (HMENU) のハンドルを指定します。hDC
デバイス コンテキストを指定します。 このデバイス コンテキストはコントロールの描画操作を実行するときに使用する必要があります。rcItem
描画するコントロールの境界を定義する hDC のメンバーで指定されたデバイス コンテキストの四角形。 Windows は自動的には何もコンボ ボックス、リスト ボックス、およびボタンのデバイス コンテキストのオーナー描画クリップしますが、メニュー項目をクリップがあります。 メニュー項目を描画した場合、所有者は rcItem のメンバーが定義する四角形の境界の外側に描画する必要があります。itemData
コンボ ボックスやリスト ボックスでは、このメンバーは次のいずれかをリスト ボックスに渡された値があります:メニューの場合は、このメンバーは次のいずれかをメニューに渡された値があります:
解説
オーナー描画のコントロールやメニュー項目のオーナー ウィンドウは WM_DRAWITEM メッセージの lParam パラメーターとしてこの構造体へのポインターを受け取ります。
必要条件
ヘッダー: winuser.h