RemoveMenu

指定されたメニューからメニューアイテムを削除します。メニューアイテムがサブメニューやドロップダウンメニューを持つ場合は、それらを破棄しません。したがって、これらのメニューを再利用できます。これらは終了前までに破棄する必要があります。この関数を呼び出す前に、GetSubMenu を使ってサブメニューやドロップダウンメニューのハンドルを取得しておくべきです。

BOOL RemoveMenu(
    HMENU hMenu,      // メニューハンドル
    UINT  uPosition,  // アイテムIDまたはアイテムの位置
    UINT  uFlags      // オプションフラグ
);

USER32.DLL

引数

hMenu

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

uPosition

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

uFlags

uPosition パラメータの意味を指定します。次のいずれかを指定します。

意味
0x00000000 (MF_BYCOMMAND)

uPosition パラメータがアイテム ID であることを示します。(デフォルト)

0x00000400 (MF_BYPOSITION)

uPosition パラメータがアイテムの位置のインデックスであることを示します。

戻り値

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

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

解説

メニューアイテムが持つサブメニューやドロップダウンメニューを破棄する場合には、 DeleteMenu 関数を使います。

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

対応情報

Windows 95 以降 / Windows NT 3.1 以降