MEASUREITEMSTRUCT 構造体 (winuser.h)

所有者描画コントロールまたはメニュー項目のディメンションをシステムに通知します。 これにより、システムはコントロールとのユーザー操作を正しく処理できます。

構文

typedef struct tagMEASUREITEMSTRUCT {
  UINT      CtlType;
  UINT      CtlID;
  UINT      itemID;
  UINT      itemWidth;
  UINT      itemHeight;
  ULONG_PTR itemData;
} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;

メンバー

CtlType

型: UINT

コントロール型。 このメンバーには、次の表に示す値のいずれかを指定できます。

説明
ODT_COMBOBOX
所有者描画コンボ ボックス
ODT_LISTBOX
所有者描画リスト ボックス
ODT_LISTVIEW
所有者描画リスト ビュー コントロール
ODT_MENU
所有者描画メニュー

CtlID

型: UINT

コンボ ボックスまたはリスト ボックスの識別子。 このメンバーは、メニューには使用されません。

itemID

型: UINT

メニュー項目の識別子、またはリスト ボックスまたはコンボ ボックス項目の位置。 この値は、リスト ボックスに LBS_OWNERDRAWVARIABLE スタイルがある場合にのみ指定されます。この値は、コンボ ボックスに CBS_OWNERDRAWVARIABLE スタイルがある場合にのみ指定されます。

itemWidth

型: UINT

メニュー項目の幅 (ピクセル単位)。 メッセージから戻る前に、所有者が描画したメニュー項目の所有者がこのメンバーを入力する必要があります。

itemHeight

型: UINT

リスト ボックスまたはメニュー内の個々の項目の高さ (ピクセル単位)。 メッセージから戻る前に、所有者描画コンボ ボックス、リスト ボックス、またはメニュー項目の所有者がこのメンバーに入力する必要があります。

itemData

種類: ULONG_PTR

メニュー項目に関連付けられているアプリケーション定義の値。 コントロールの場合、このメンバーは、 LB_SETITEMDATAまたはCB_SETITEMDATA メッセージによってリスト ボックスまたはコンボ ボックスに最後に割り当てられた値 指定します。 リスト ボックスまたはコンボ ボックスにLB_HASSTRINGSまたはCB_HASSTRINGSスタイルがある場合、この値は最初は 0 です。 それ以外の場合、この値は最初に、次のいずれかのメッセージの lParam パラメーターのリスト ボックスまたはコンボ ボックスに渡される値です。

解説

所有者描画コントロールの所有者ウィンドウは、MEASUREITEMSTRUCT 構造体へのポインターを、WM_MEASUREITEM メッセージの lParam パラメーターとして受け取ります。 所有者描画コントロールは、コントロールの作成時にこのメッセージを所有者ウィンドウに送信します。 その後、所有者は、コントロールの 構造体の適切なメンバーを入力し、 を返します。 この構造体は、ウィンドウによってサイズが事前に決定された所有者描画ボタン コントロールを除く、すべての所有者描画コントロールに共通です。

アプリケーションが MEASUREITEMSTRUCT の適切なメンバーを満たしていない場合、コントロールまたはメニュー項目が正しく描画されない可能性があります。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winuser.h (Windows.h を含む)

関連項目

CB_ADDSTRING

CB_INSERTSTRING

CB_SETITEMDATA

LB_ADDSTRING

LB_INSERTSTRING

LB_SETITEMDATA

リファレンス

WM_MEASUREITEM