EnableMenuItem-Funktion (winuser.h)

Aktiviert, deaktiviert oder graut das angegebene Menüelement.

Syntax

BOOL EnableMenuItem(
  [in] HMENU hMenu,
  [in] UINT  uIDEnableItem,
  [in] UINT  uEnable
);

Parameter

[in] hMenu

Typ: HMENU

Ein Handle zum Menü.

[in] uIDEnableItem

Typ: UINT

Das Menüelement, das aktiviert, deaktiviert oder abgeblendet werden soll, wie durch den uEnable-Parameter bestimmt. Dieser Parameter gibt ein Element in einer Menüleiste, einem Menü oder einem Untermenü an.

[in] uEnable

Typ: UINT

Steuert die Interpretation des uIDEnableItem-Parameters und gibt an, ob das Menüelement aktiviert, deaktiviert oder abgeblendet ist. Dieser Parameter muss eine Kombination der folgenden Werte sein.

Wert Bedeutung
MF_BYCOMMAND
0x00000000L
Gibt an, dass uIDEnableItem den Bezeichner des Menüelements angibt. Wenn weder das MF_BYCOMMAND - noch MF_BYPOSITION-Flag angegeben wird, ist das MF_BYCOMMAND-Flag das Standardflag.
MF_BYPOSITION
0x00000400L
Gibt an, dass uIDEnableItem die nullbasierte relative Position des Menüelements angibt.
MF_DISABLED
0x00000002L
Gibt an, dass das Menüelement deaktiviert, aber nicht abgeblendet ist, sodass es nicht ausgewählt werden kann.
MF_ENABLED
0x00000000L
Gibt an, dass das Menüelement aktiviert und aus einem abgeblendeten Zustand wiederhergestellt wird, sodass es ausgewählt werden kann.
MF_GRAYED
0x00000001L
Gibt an, dass das Menüelement deaktiviert und abgeblendet ist, sodass es nicht ausgewählt werden kann.

Rückgabewert

Typ: BOOL

Der Rückgabewert gibt den vorherigen Status des Menüelements an (entweder MF_DISABLED, MF_ENABLED oder MF_GRAYED). Wenn das Menüelement nicht vorhanden ist, ist der Rückgabewert -1.

Hinweise

Eine Anwendung muss das flag MF_BYPOSITION verwenden, um das richtige Menühandle anzugeben. Wenn das Menühandle für die Menüleiste angegeben wird, ist das Menüelement der obersten Ebene (ein Element in der Menüleiste) betroffen. Um den Status eines Elements in einem Dropdownmenü oder Untermenü nach Position festzulegen, muss eine Anwendung ein Handle für das Dropdownmenü oder Untermenü angeben.

Wenn eine Anwendung das flag MF_BYCOMMAND angibt, überprüft das System alle Elemente, die Untermenüs im Menü öffnen, das durch das angegebene Menühandle identifiziert wird. Daher ist es ausreichend, das Menühandle für die Menüleiste anzugeben, sofern keine doppelten Menüelemente vorhanden sind.

Die Funktionen InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu und SetMenuItemInfo können auch den Status (aktiviert, deaktiviert oder abgeblendet) eines Menüelements festlegen.

Wenn Sie ein Fenstermenü ändern, wird die Menüleiste nicht sofort aktualisiert. Rufen Sie DrawMenuBar auf, um die Aktualisierung zu erzwingen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll
APIs ext-ms-win-ntuser-menu-l1-1-0 (eingeführt in Windows 8)

Siehe auch

Konzept

DrawMenuBar

GetMenuItemID

EinfügenMenü

InsertMenuItem

LoadMenuIndirect

Menüs

ModifyMenu

Referenz

SetMenuItemInfo

WM_SYSCOMMAND