Freigeben über


CMenu::AppendMenu

Fügt einen neuen Artikel an das Ende eines Menüs an.

BOOL AppendMenu(
   UINT nFlags,
   UINT_PTR nIDNewItem = 0,
   LPCTSTR lpszNewItem = NULL 
);
BOOL AppendMenu(
   UINT nFlags,
   UINT_PTR nIDNewItem,
   const CBitmap* pBmp 
);

Parameter

  • nFlags
    Enthält Informationen über den Zustand des neuen Menüelements, wenn sie im Menü hinzugefügt wird.Sie besteht aus einem oder mehreren der Werte, die in den Abschnitt "Hinweise" aufgeführt sind.

  • nIDNewItem
    Gibt entweder die Befehls-ID des neuen 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 wird verwendet, um lpszNewItem wie folgt interpretiert werden:

    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 WM_MEASUREITEM und WM_DRAWITEM Meldungen verarbeitet.Der Wert wird im itemData-Member der Struktur gespeichert, die diesen Meldungen angegeben wird.

    MF_STRING

    Enthält einen Zeiger auf eine auf NULL endende Zeichenfolge.Dies ist die Standardinterpretation.

    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 kann den Zustand des Menüelements mit Werten in nFlags angeben.Wenn nIDNewItem ein Popupmenü angibt, wird Teil des, an das es angefügt wird.Wenn dieses Menü zerstört wird, wird das angefügte Menü außerdem zerstört.Ein angefügtes Menü sollte ein CMenu-Objekt getrennt werden, um Konflikte zu vermeiden.Beachten Sie, dass MF_STRING und MF_OWNERDRAW für die Bit-Übersichtsversion von AppendMenu ungültig sind.

Die folgende Liste beschreibt die Flags, die in nFlags festgelegt werden:

  • MF_CHECKED fungiert als eine Umschaltfläche mit MF_UNCHECKED auf, um das Häkchen neben dem Element zu platzieren.Wenn die Anwendung Prüfzeichenbitmaps (siehe die SetMenuItemBitmaps-Memberfunktion), bietet, wird das Häkchen "auf" Bitmap angezeigt.

  • MF_UNCHECKED fungiert als eine Umschaltfläche mit MF_CHECKED auf, um ein Häkchen neben dem Element zu entfernen.Wenn die Anwendung Prüfzeichenbitmaps (siehe die SetMenuItemBitmaps-Memberfunktion), bietet, wird das Häkchen "weg" aus der Bitmap angezeigt.

  • MF_DISABLED deaktiviert das Menüelement, sodass es nicht ausgewählt werden kann, sondern blendet es nicht ab.

  • MF_ENABLED aktiviert das Menüelement, sodass es ausgewählt werden kann und Wiederherstellung von seinem abgeblendeten Zustand.

  • MF_GRAYED deaktiviert das Menüelement, sodass es nicht ausgewählt werden kann und blendet es ab.

  • MF_MENUBARBREAK gibt das Element auf einer neuen Zeile in statischen Menüs oder in einer neuen Spalte in den Popupmenüs.Die neue Popupmenüspalte wird aus der alten Spalte durch eine vertikale Trennlinie getrennt.

  • MF_MENUBREAK gibt das Element auf einer neuen Zeile in statischen Menüs oder in einer neuen Spalte in den Popupmenüs.Keine wird die Trennlinie zwischen Spalten platziert.

  • MF_OWNERDRAW gibt an, dass das Element ein Ownerdrawnelement ist.Wenn das Menü zum ersten Mal angezeigt wird, empfängt das Fenster, das das Menü besitzt, eine WM_MEASUREITEM Meldung, die die Höhe und die Breite des Menüelements abruft.Die WM_DRAWITEM Meldung ist die, die gesendet wird, wenn der Besitzer die visuelle Darstellung des Menüelements aktualisieren muss.Diese Option ist für ein Menüelement der obersten Ebene ungültig.

  • MF_POPUP gibt an, dass das Menüelement ein Popupmenü verfügt, das zugeordnet ist.Der ID-Parameter gibt ein Handle für ein Popupmenü an, das mit dem Element zugeordnet werden soll.Dies wird für das Hinzufügen eines Popupmenüs entweder der obersten Ebene oder des hierarchischen Popupmenüs zu einem Popupmenüelement verwendet.

  • MF_SEPARATOR wird eine horizontale Trennlinie.Kann in einem Popupmenü nur verwendet werden.Diese Zeile kann nicht abgeblendet angezeigt werden, deaktiviert oder hervorgehoben werden.Andere Parameter werden ignoriert.

  • MF_STRING gibt an, dass das Menüelement eine Zeichenfolge ist.

Jedes der folgenden Gruppenlistenflags, die sich gegenseitig sind - exklusiv und kann nicht zusammen verwendet werden:

  • MF_DISABLED, MF_ENABLED und MF_GRAYED

  • MF_STRING, MF_OWNERDRAW, MF_SEPARATOR und die Bit-Übersichtsversion

  • MF_MENUBARBREAK und MF_MENUBREAK

  • MF_CHECKED und MF_UNCHECKED

Wenn ein Menü, das in einem Fenster befinden, geändert wird (ob das Fenster angezeigt wird), sollte die Anwendung CWnd::DrawMenuBar aufrufen.

Beispiel

Im Beispiel für CMenu::CreateMenu.

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CMenu-Klasse

Hierarchien-Diagramm

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu