プラットフォーム SDK
DeleteMenu

指定されたメニューから 1 つのメニュー項目を削除します。そのメニュー項目が他のメニューやサブメニューを開くよう設定されている場合は、それらのメニューやサブメニューのハンドルも破棄し、関連付けられているメモリを解放します。

BOOL DeleteMenu(
  HMENU hMenu,     // メニューのハンドル
  UINT uPosition,  // メニュー項目の識別子または位置
  UINT uFlags      // オプション
);

パラメータ

hMenu
削除対象のメニューのハンドルを指定します。
uPosition
削除対象のメニュー項目を指定します。uFlags パラメータの値に基づいて、識別子または位置を指定します。
uFlags
uPosition パラメータの意味を指定します。次の値のいずれかを指定します。
意味
MF_BYCOMMANDuPosition パラメータがメニュー項目の識別子を意味します。MF_BYCOMMAND と MF_BYPOSITION のどちらのフラグも指定されていない場合、MF_BYCOMMAND フラグは既定のフラグとして扱われます。
MF_BYPOSITIONuPosition パラメータはメニュー項目の位置を意味します。この位置は、メニュー内でのメニュー項目の相対位置を、0 ベースで指定したものです。たとえば、0 を指定すると、上端のメニュー項目を意味します。

戻り値

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

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

解説

メニューを変更した場合、そのメニューに関連するウィンドウが現在表示中かどうかにかかわりなく、必ず DrawMenuBar 関数を呼び出してください。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winuser.h 内で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用

参照

DrawMenuBar, RemoveMenu

Page view tracker