GetMenuItemInfo(A)

メニューアイテムの情報を取得します。

BOOL GetMenuItemInfoA(
    HMENU hMenu,             // メニューハンドル
    UINT  uItem,             // アイテムのIDまたは位置
    BOOL  fByPosition,       // フラグ
    LPMENUITEMINFO pItemInfo // MENUITEMINFO構造体
);

USER32.DLL

引数

hMenu

メニューのハンドルを指定します。

uItem

アイテム ID またはアイテムの位置を指定します。どちらを表すかは fByPosition パラメータの値に依存します。

fByPosition

uItem パラメータの意味を指定します。 0 (FALSE) を指定すると、uItem パラメータがメニューアイテム ID であることを示します。 1 (TRUE) を指定すると、メニューアイテムの位置のインデックスであることを示します。

pItemInfo

MENUITEMINFO 構造体のアドレスを指定します。この構造体にアイテムの情報が格納されます。

戻り値

成功すると 0 以外の値が返ります。

失敗すると 0 が返ります。拡張エラー情報を取得するには、 GetLastError 関数を使います。

解説

MFT_STRING 型のメニューアイテムの情報を取得する際に、 MENUITEMINFO 構造体の dwTypeData メンバに 0 (NULL) をセットしてから GetMenuItemInfo 関数を呼び出すことで、 cch メンバに文字列の長さを取得することができます。その後、この文字列を格納できるだけのバッファを確保して、このバッファのアドレスを dwTypeData メンバに格納してから再び GetMenuItemInfo 関数を呼び出すことで、バッファに文字列を取得することができます。

対応情報

Windows 95 以降 / Windows NT 4.0 以降