Freigeben über


CSnapInItemImpl::UpdateMenuState

Rufen Sie diese Funktion auf, um ein Menüelement zu ändern, bevor es in das Kontextmenü des Snap-Inobjekts eingefügt wird.

void UpdateMenuState( 
   UINT id, 
   LPTSTR pBuf, 
   UINT *flags  
);

Parameter

  • id
    [in] Die ID des Menüelements festgelegt werden.

  • pBuf
    [in] Ein Zeiger auf die Zeichenfolge, damit das Menüelement aktualisiert werden kann.

  • flags
    [in] gibt die neuen Zustandsflags an. Diese kann eine Kombination der folgenden Flags sein:

    • MF_POPUP gibt an, dass dieses ein Untermenü innerhalb des Kontextmenüs ist. Menüelemente, Einfügemarken und weitere Untermenüs werden diesem Untermenü mit seinem lCommandID als ihre IInsertionPointID hinzugefügt werden.

    • MF_BITMAP und MF_OWNERDRAW diese Flags sind nicht zulässig und werden einen Rückgabewert von E_INVALIDARG führen.

    • MF_SEPARATOR wird eine horizontale Trennlinie. Nur IContextMenuProvider ist zulässig, um Menüelemente mit MF_SEPARATOR hinzuzufügen fest.

    • MF_CHECKED platziert ein Häkchen neben dem Menüelement.

    • MF_DISABLED deaktiviert das Menüelement, sodass die nicht ausgewählt werden, aber das Flag blendet es nicht ab.

    • MF_ENABLED aktiviert das Menüelement, sodass die ausgewählt und es aus dem abgeblendeten Zustand zurücksetzen.

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

    • MF_MENUBARBREAK funktioniert genauso wie das MF_MENUBREAK-Flag für eine Menüleiste. Ein Dropdownmenü, ein Untermenü oder ein Kontextmenü wird die neue Spalte aus der alten Spalte durch eine vertikale Linie getrennt.

    • MF_MENUBREAK gibt das Element auf einer neuen Zeile (für eine Menüleiste) oder einer neuen Spalte (für ein Dropdownmenü, ein Untermenü oder ein Kontextmenü) ohne trennende Spalten.

    • MF_UNCHECKED platziert kein Häkchen neben dem Element (Standard).

Die folgenden Gruppen von Flags können nicht zusammen verwendet werden:

  • MF_DISABLED, MF_ENABLED und MF_GRAYED.

  • MF_MENUBARBREAK und MF_MENUBREAK.

  • MF_CHECKED und MF_UNCHECKED.

Anforderungen

Header: atlsnap.h

Siehe auch

Referenz

CSnapInItemImpl Class