次の方法で共有


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

参照

関連項目

CWnd::OnDrawItem

その他の技術情報

構造体、スタイル、コールバック関数とメッセージ マップ