次の方法で共有


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 のメンバーで指定されたデバイス コンテキストの四角形。ウィンドウが自動的に何もコンボ ボックス、リスト ボックス、ボタンのデバイス コンテキストのオーナー描画されますが、メニュー項目をクリップされます。メニュー項目を描画するとき、所有者は rcItem のメンバーを定義する四角形の境界の外側に描画する必要があります。

  • itemData
    コンボ ボックスやリスト ボックスに、このメンバーは、次のいずれかをリスト ボックスに渡された値が含まれています:

    メニューの場合は、このメンバーは、次のいずれかのメニューに渡された値が含まれています:

解説

オーナー描画コントロールまたはメニュー項目のオーナー ウィンドウは WM_DRAWITEM のメッセージの lParam パラメーターとしてこの構造体へのポインターを受け取ります。

必要条件

Header: winuser.h

参照

関連項目

CWnd::OnDrawItem

その他の技術情報

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