CMenu::ModifyMenu
Ändert ein vorhandenes Menüelement an der Position, die von nPosition angegeben wird.
BOOL ModifyMenu(
UINT nPosition,
UINT nFlags,
UINT_PTR nIDNewItem = 0,
LPCTSTR lpszNewItem = NULL
);
BOOL ModifyMenu(
UINT nPosition,
UINT nFlags,
UINT_PTR nIDNewItem,
const CBitmap* pBmp
);
Parameter
nPosition
Gibt das zu ändernde an Menüelement.Der nFlags-Parameter kann verwendet werden, um nPosition folgendermaßen zu interpretieren:nFlags
Interpretation von nPosition
MF_BYCOMMAND
Gibt an, dass der Parameter der Befehls-ID des vorhandenen Menüelements gibt.Dies ist der Standardwert, wenn weder noch MF_BYCOMMANDMF_BYPOSITION festgelegt ist.
MF_BYPOSITION
Gibt an, dass der Parameter die Position des vorhandenen Menüelements gibt.Der erste Punkt befindet sich an Position 0.
nFlags
Gibt an, wie nPosition interpretiert wird, und gibt Informationen über die Menüelement gemacht werden Änderungen.Eine Liste von Flags, die möglicherweise festgelegt werden, finden Sie die AppendMenu-Memberfunktion.nIDNewItem
Gibt entweder die Befehls-ID des geänderten Menüelements oder, wenn nFlags zu MF_POPUP festgelegt, das Menühandle (HMENU) eines Popupmenüs an.Der Parameter wird ignoriert nIDNewItem (nicht erforderlich) wenn nFlags zu MF_SEPARATOR festgelegt ist.lpszNewItem
Gibt den Inhalt des neuen Menüelements an.Der nFlags-Parameter kann verwendet werden, um lpszNewItem folgendermaßen zu interpretieren:nFlags
Interpretation von lpszNewItem
MF_OWNERDRAW
Enthält einen von der Anwendung bereitgestellten 32-Bit-Wert, den die Anwendung verwenden kann, um die zusätzlichen Daten beizubehalten, die mit dem Menüelement zugeordnet werden.Dieser 32-Bit-Wert ist der Anwendung zur Verfügung, wenn er MF_MEASUREITEM und MF_DRAWITEM verarbeitet.
MF_STRING
Enthält einen langen Zeiger auf eine auf NULL endende Zeichenfolge oder zu CString.
MF_SEPARATOR
Der Parameter wird ignoriert lpszNewItem (nicht erforderlich).
pBmp
Zeigt auf CBitmap ein Objekt, das als das Menüelement verwendet wird.
Rückgabewert
Ungleich 0 (null), wenn die Funktion erfolgreich; 0 andernfalls.
Hinweise
Die Anwendung gibt den neuen Zustand des Menüelements mit Werten in nFlags an.Wenn diese Funktion ein Popupmenü ersetzt, das mit dem Menüelement zugeordnet ist, zerstört sie das alte Popupmenü und gibt den Speicherplatz, der durch das Popupmenü verwendet wird.
Wenn nIDNewItem ein Popupmenü angibt, wird Teil des Menüs, in dem sie eingefügt wird.Wenn dieses Menü zerstört wird, wird das Menü außerdem eingefügte zerstört.Ein eingefügtes Menü sollte ein CMenu-Objekt getrennt werden, um Konflikte zu vermeiden.
Wenn ein Menü, das in einem Fenster befinden, geändert wird (ob das Fenster angezeigt wird), sollte die Anwendung CWnd::DrawMenuBar aufrufen.Um die Attribute von vorhandenen Menüelementen zu ändern, ist sie viel schneller die CheckMenuItem und EnableMenuItem-Memberfunktionen zu verwenden.
Beispiel
Im Beispiel für CMenu::InsertMenu.
Anforderungen
Header: afxwin.h