CMenu::ModifyMenu

BOOLModifyMenu (UINTnPosition,UINTnFlags,UINTnIDNewItem=0,LPCTSTRLpszNewItemNULL=);

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

Rückgabewert

Ungleich NULL, wenn die Funktion erfolgreich ist; andernfalls 0.

Parameter

nPosition

Gibt das Menüelement im geändert werden. Des nFlags -Parameters kann verwendet werden, um nPosition auf folgende Weise zu interpretieren:

nFlags Interpretation der nPosition
MF_BYCOMMAND Gibt an, dass der Parameter die Befehls-ID, der das vorhandene Menüelement gibt. Dies ist die Standardeinstellung, wenn weder MF_BYCOMMAND noch MF_BYPOSITION festgelegt ist.
MF_BYPOSITION Gibt an, dass der Parameter die Position des bestehenden Menüpunkt gibt. Das erste Element befindet sich an Position 0.

nFlags

Gibt an, wie nPosition interpretiert wird und gibt Informationen über die Änderungen zum Menüpunkt vorgenommen werden. Eine Liste von Flags, die festgelegt werden können, finden Sie unter die Memberfunktion AppendMenu.

nIDNewItem

Gibt die Befehls-ID des Menüelements geändert oder, wenn nFlags MF_POPUP, das Menü-Handle (HMENU) des ein Popup-Menü festgelegt ist. Der nIDNewItem -Parameter wird (nicht erforderlich) ignoriert, wenn Sie MF_SEPARATOR nFlags festgelegt ist.

lpszNewItem

Gibt den Inhalt des neuen Menüelements. Des nFlags -Parameters kann verwendet werden, um LpszNewItem auf folgende Weise zu interpretieren:

nFlags Interpretation der lpszNewItem
MF_OWNERDRAW Enthält einen Anwendung bereitgestellte 32-Bit-Wert, den die Anwendung verwenden kann, um zusätzliche Daten zugeordnet Menüpunkt pflegen. Dieser 32-Bit-Wert ist für die Anwendung verfügbar, beim Verarbeiten von MF_MEASUREITEM und MF_DRAWITEM.
MF_STRING Enthält einen langen Zeiger auf eine Null-terminierte Zeichenfolge oder ein CString.
MF_SEPARATOR Der LpszNewItem -Parameter wird ignoriert (nicht erforderlich).

pBmp

Punkte auf einer CBitmap -Objekt, das als das Menüelement verwendet wird.

Bemerkungen

Ändert ein vorhandenes Menüelement an der angegebenen von nPositionPosition. Die Anwendung gibt den neuen Zustand des Menüelements durch Festlegen von Werten in nFlags. Wenn diese Funktion ein Popup-Menü den Menüpunkt zugeordnet ersetzt, es zerstört das alte Pop-up Menü und gibt den Speicher frei von im Popupmenü verwendet.

Wenn nIDNewItem ein Popup-Menü gibt, wird es Teil des Menüs, in die es eingefügt wird. Wenn das Menü zerstört ist, wird das eingefügte Menü auch zerstört werden. Eine eingefügte Menü sollte getrennt werden aus einem CMenu -Objekt, um Konflikte zu vermeiden.

Wenn ein Menü, das in einem Window befindet (ob oder nicht das Fenster angezeigt wird) geändert wird, sollte die Anwendung CWnd::DrawMenuBaraufrufen. Um die Attribute der vorhandenen Menüelemente ändern, ist es viel schneller, verwenden Sie die Memberfunktionen CheckMenuItem und EnableMenuItem.

Übersicht über die CMenu |nbsp; Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CMenu::AppendMenu, CMenu::InsertMenu, CMenu::CheckMenuItem, CWnd::DrawMenuBar, CMenu::EnableMenuItem, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: ModifyMenu

Index