DeleteMenu

メニューからメニューアイテムを削除します。メニューアイテムがサブメニューやドロップダウンメニューを持つ場合は、それらも破棄します。

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

USER32.DLL

引数

hMenu

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

uPosition

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

fuFlags

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

意味
0x00000000 (MF_BYCOMMAND)

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

0x00000400 (MF_BYPOSITION)

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

戻り値

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

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

解説

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

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

対応情報

Windows 95 以降 / Windows NT 3.1 以降