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_BYCOMMANDもMF_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_MEASUREITEMとMF_DRAWITEMを処理するときこの 32 ビットの値は、アプリケーションで使用できるです。 |
| MF_STRING | Null で終わる文字列またはCStringに長いポインターします。 |
| MF_SEPARATOR | LpszNewItemパラメーター (不要) は無視されます。 |
pBmp
メニュー項目として使用されるCBitmapオブジェクトへのポインター。
解説
NPositionで指定した位置に既存のメニュー項目を変更します。NFlagsに値を設定すること、アプリケーションのメニュー項目の新しい状態を指定します。この関数は、メニュー項目に関連付けられたポップアップ メニューを置き換える場合は、古いポップアップ メニューを破棄し、ポップアップ メニューで使用されるメモリを解放。
NIDNewItemがポップアップ メニューを指定すると、それが挿入される、メニューの一部になります。メニューが破棄された場合は、挿入されたメニューも破棄されます。挿入されたメニュー競合を避けるために、 CMenuオブジェクトから分離する必要があります。
かどうかは (ウィンドウが表示されます)、ウィンドウにあるメニューが変更されるたびに、アプリケーションはcwnd::drawmenubar 関数を呼び出す必要があります。既存のメニュー項目の属性を変更するには、 CheckMenuItemとEnableMenuItemメンバー関数を使用してはるかに高速です。
CMenu 概要|nbsp;クラス メンバー |階層図(&N)
参照特価;CMenu::AppendMenu、 CMenu::InsertMenu、 CMenu::CheckMenuItem、 cwnd::drawmenubar 関数、 CMenu::EnableMenuItem、 CMenu::SetMenuItemBitmaps、 CMenu::Detach、 :: ModifyMenu(&N)