ModifyMenu

Die ModifyMenu -Funktion ändert eine vorhandene Menüelement. Diese Funktion wird verwendet, um den Inhalt, die Darstellung und das Verhalten des Menüelements festlegen.

Die ModifyMenu -Funktion wurde von der SetMenuItemInfo -Funktion ersetzt. Noch können ModifyMenu, jedoch Sie wenn Sie die erweiterten Features des SetMenuItemInfo nicht benötigen.

BOOL ModifyMenu) HMENU  hMnu, / / handle zum MenüUINTuPosition, / / Menüelement um zu ändernUINTuFlags, / / Menüpunkt FahnenUINTuIDNewItem, / / Menü Element-ID oder handle für Dropdown-Listenfeld / / Menü oder UntermenüLPCTSTRLpNewItem / / Menüelement Inhalt);
 

Parameter

hMnu
Handle für das Menü geändert werden.
uPosition
Gibt das Menüelement geändert werden, wie durch den Parameter uFlags bestimmt.
uFlags
Gibt Flags an, die die Auslegung der uPosition -Parameter und die Inhalte, Darstellung und Verhalten des Menüelements zu steuern. Dieser Parameter muss eine Kombination aus den folgenden erforderlichen Werte und mindestens eine der im folgenden Abschnitt "Hinweise" aufgeführten Werte sein.
Wert Bedeutung
MF_BYCOMMAND Gibt an, dass der uPosition -Parameter die ID des Menüelements gibt. Das MF_BYCOMMAND-Flag ist die Standardeinstellung, wenn weder der MF_BYCOMMAND noch das MF_BYPOSITION-Flag angegeben ist.
MF_BYPOSITION Gibt an, dass der uPosition -Parameter die nullbasierte relative Position des Menüelements gibt.

uIDNewItem
Gibt entweder die ID des geänderten Menüpunkt oder, wenn der Parameter uFlags hat das MF_POPUP-Flag gesetzt, das Handle für das Drop-Down-Menü oder Untermenü.
lpNewItem
Zeiger auf den Inhalt der geänderten Menüpunkt. Die Interpretation dieses Parameters hängt davon ab, ob der Parameter uFlags das MF_BITMAP, MF_OWNERDRAW oder MF_STRING-Flag enthält.
Wert Bedeutung
MF_BITMAP Enthält einen Bitmap-handle.
MF_OWNERDRAW Enthält einen 32-Bit-Wert geliefert durch eine Anwendung, die verwendet wird, um zusätzliche Daten mit Bezug zum Menüpunkt verwalten. Der Wert wird in der ItemData -Member der Struktur, auf die den Lparam -Parameter, der die WM_MEASUREITEM oder WM_DRAWITEM Nachrichten gesendet, wenn das Menüelement erstellt wird oder sein Aussehen ist.
MF_STRING Enthält einen Zeiger auf eine Null-terminierte Zeichenfolge (Standard).

Rückgabewerte

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich NULL.

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (null). Um erweiterte Fehlerinformationen abzurufen, rufen Sie GetLastError.

Bemerkungen

Wenn ModifyMenu ein Menüelement, die ein Dropdown-Menü oder ein Untermenü geöffnet wird ersetzt, die Funktion zerstört alte Dropdown-Menü oder Untermenü und den von ihm verwendeten Arbeitsspeicher freigibt.

In Reihenfolge für Zugriffstasten, mit Bitmap oder Ownerdrawn-Menüelemente zu arbeiten muss der Besitzer des Menüs die WM_MENUCHAR Nachricht verarbeiten. Weitere Informationen finden Sie Owner-Drawn-Menüs und die WM_MENUCHAR-Nachricht.

Die Anwendung muss der DrawMenuBar -Funktion, wenn ein Menü ändert, rufen, ob das Menü in einem angezeigten Fenster ist. Um die Attribute der vorhandenen Menüelemente ändern, ist es viel schneller, die Funktionen CheckMenuItem und EnableMenuItem verwenden.

Die folgende Liste beschreibt die Flags, die in der uFlags -Parameter festgelegt werden können:

Wert Bedeutung
MF_BITMAP Verwendet eine Bitmap als Menüelement. Der LpNewItem -Parameter enthält das Handle für das bitmap.
MF_BYCOMMAND Gibt an, dass der uPosition -Parameter den Bezeichner des Menübefehls (Standard gibt).
MF_BYPOSITION Gibt an, dass der uPosition -Parameter die nullbasierte relative Position der neue Menüpunkt gibt.
MF_CHECKED Setzt ein Häkchen neben dem Element. Wenn Ihre Anwendung Häkchen Bitmaps bietet (siehe die SetMenuItemBitmaps -Funktion), zeigt dieses Flag eine überprüfte Bitmap neben den Menüpunkt.
MF_DISABLED Das Menüelement deaktiviert, so dass es kann nicht ausgewählt werden, aber diese Flagge wird es nicht grau.
MF_ENABLED Das Menüelement aktiviert, so dass es ausgewählt werden kann und es vom grauen Zustand stellt.
MF_GRAYED Wird das Menüelement deaktiviert, und es grays, so dass es nicht ausgewählt werden können.
MF_MENUBARBREAK Funktionen kennzeichnen die gleiche wie die MF_MENUBREAK für eine Menüleiste. Für eine Drop-Down-Menü, Untermenü oder Kontextmenü ist die neue Spalte von der alten Spalte durch eine vertikale Linie getrennt.
MF_MENUBREAK Stellt das Element in einer neuen Zeile (für Menüleisten) oder in einer neuen Spalte (für ein Drop-Down-Menü, Untermenü oder Kontextmenü) ohne zu trennen von Spalten.
MF_OWNERDRAW Das Element ist ein Ownerdrawn Element angibt. Bevor das Menü zum ersten Mal angezeigt wird, empfängt das Fenster, das das Menü besitzt eine WM_MEASUREITEM -Nachricht, die Breite und Höhe des Menüelements abzurufen. Die WM_DRAWITEM Nachricht wird dann an die Fensterprozedur des Besitzerfensters gesendet, wenn das Aussehen des Menüelements aktualisiert werden muss.
MF_POPUP Gibt an, dass das Menüelement ein Drop-Down-Menü oder ein Untermenü öffnet. Der Parameter uIDNewItem gibt das Handle für das Drop-Down-Menü oder Untermenü. Dieses Flag wird verwendet, um auf einen Menünamen auf einer Menüleiste oder ein Menüelement, das öffnet ein Untermenü für ein Drop-Down-Menü, Untermenü oder Kontextmenü hinzufügen.
MF_SEPARATOR Zeichnet eine horizontale Trennlinie. Dieses Flag wird nur in einer Drop-Down-Menü, Untermenü oder Kontextmenü verwendet. Die Zeile kann nicht grau unterlegt, deaktiviert oder hervorgehoben werden. Die Parameter LpNewItem und uIDNewItem werden ignoriert.
MF_STRING Gibt an, dass das Menüelement eine Textzeichenfolge ist; der LpNewItem -Parameter verweist auf die Zeichenfolge.
MF_UNCHECKED Platzieren Sie ein Häkchen neben dem Element (Standard) nicht. Wenn Ihre Anwendung Häkchen Bitmaps liefert (siehe die SetMenuItemBitmaps -Funktion), zeigt dieses Flag eine ungeprüfte Bitmap neben den Menüpunkt.

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

Siehe auch

Übersicht über die Menüs, Menüfunktionen, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM

Index