SetMenuItemInfo(A)

メニューアイテムに関する情報を変更します。

BOOL SetMenuItemInfoA(
    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 関数を使います。

解説

ウィンドウメニューを変更した場合は、メニューが表示されているかどうかに関わらず、 DrawMenuBar 関数を使ってメニューを再描画する必要があります。

対応情報

Windows 95 以降 / Windows NT 3.1 以降