MEASUREITEMSTRUCT 構造体 (winuser.h)
所有者描画コントロールまたはメニュー項目のディメンションをシステムに通知します。 これにより、システムはコントロールとのユーザー操作を正しく処理できます。
構文
typedef struct tagMEASUREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemWidth;
UINT itemHeight;
ULONG_PTR itemData;
} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
メンバー
CtlType
型: UINT
コントロール型。 このメンバーには、次の表に示す値のいずれかを指定できます。
値 | 説明 |
---|---|
|
所有者描画コンボ ボックス |
|
所有者描画リスト ボックス |
|
所有者描画リスト ビュー コントロール |
|
所有者描画メニュー |
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 を含む) |
関連項目
リファレンス