CMenu::ModifyMenu

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0、 LPCTSTR lpszNewItem = NULL );

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap ※ pBmp );

戻り値

関数が成功したそうでなければ 0。

パラメーター

nPosition

変更するメニュー項目を指定します。NFlagsパラメーターは、次の方法でのnPositionの解釈を使用できます。:

nFlags NPosition の解釈
MF_BYCOMMAND 既存のメニュー項目のコマンド ID をパラメーターに指定を指定します。MF_BYCOMMANDMF_BYPOSITIONのどちらに設定されている場合、これがデフォルトです。
MF_BYPOSITION 既存のメニュー項目の位置をパラメーターに指定を指定します。最初の項目の位置は 0 です。

nFlags

NPositionの解釈方法を指定し、メニュー項目に、変更に関する情報を提供します。設定できるフラグの一覧についてを参照してください、 AppendMenuメンバー関数。

nIDNewItem

[変更] メニュー項目のコマンド ID を指定しますまたは、 nFlags MF_POPUPに、ポップアップ メニューのメニュー ハンドル (HMENU) 設定されている場合。NFlags MF_SEPARATORに設定されている場合がnIDNewItemパラメーターを (必要ではない) は無視されます。

lpszNewItem

新しいメニュー項目の内容を指定します。NFlagsパラメーター lpszNewItemは、次の方法で解釈する使用することができます。:

nFlags LpszNewItem の解釈
MF_OWNERDRAW アプリケーションのメニュー項目に関連付けられた追加のデータを維持するために使用できる、アプリケーション指定の 32 ビット値が含まれています。MF_MEASUREITEMMF_DRAWITEMを処理するときこの 32 ビットの値は、アプリケーションで使用できるです。
MF_STRING Null で終わる文字列またはCStringに長いポインターします。
MF_SEPARATOR LpszNewItemパラメーター (不要) は無視されます。

pBmp

メニュー項目として使用されるCBitmapオブジェクトへのポインター。

解説

NPositionで指定した位置に既存のメニュー項目を変更します。NFlagsに値を設定すること、アプリケーションのメニュー項目の新しい状態を指定します。この関数は、メニュー項目に関連付けられたポップアップ メニューを置き換える場合は、古いポップアップ メニューを破棄し、ポップアップ メニューで使用されるメモリを解放。

NIDNewItemがポップアップ メニューを指定すると、それが挿入される、メニューの一部になります。メニューが破棄された場合は、挿入されたメニューも破棄されます。挿入されたメニュー競合を避けるために、 CMenuオブジェクトから分離する必要があります。

かどうかは (ウィンドウが表示されます)、ウィンドウにあるメニューが変更されるたびに、アプリケーションはcwnd::drawmenubar 関数を呼び出す必要があります。既存のメニュー項目の属性を変更するには、 CheckMenuItemEnableMenuItemメンバー関数を使用してはるかに高速です。

CMenu 概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CMenu::AppendMenuCMenu::InsertMenuCMenu::CheckMenuItemcwnd::drawmenubar 関数CMenu::EnableMenuItemCMenu::SetMenuItemBitmapsCMenu::Detach :: ModifyMenu(&N)

Index