Freigeben über


MENUITEMINFOA-Struktur (winuser.h)

Enthält Informationen zu einem Menüelement.

Syntax

typedef struct tagMENUITEMINFOA {
  UINT      cbSize;
  UINT      fMask;
  UINT      fType;
  UINT      fState;
  UINT      wID;
  HMENU     hSubMenu;
  HBITMAP   hbmpChecked;
  HBITMAP   hbmpUnchecked;
  ULONG_PTR dwItemData;
  LPSTR     dwTypeData;
  UINT      cch;
  HBITMAP   hbmpItem;
} MENUITEMINFOA, *LPMENUITEMINFOA;

Member

cbSize

Typ: UINT

Die Größe der Struktur in Bytes. Der Aufrufer muss diesen Member auf sizeof(MENUITEMINFO)festlegen.

fMask

Typ: UINT

Gibt die abzurufenden oder festzulegenden Member an. Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
MIIM_BITMAP
0x00000080
Ruft den hbmpItem-Member ab oder legt es fest.
MIIM_CHECKMARKS
0x00000008
Ruft die Member hbmpChecked und hbmpUnchecked ab oder legt sie fest .
MIIM_DATA
0x00000020
Ruft das dwItemData-Element ab oder legt es fest.
MIIM_FTYPE
0x00000100
Ruft den fType-Member ab oder legt es fest.
MIIM_ID
0x00000002
Ruft den wID-Member ab oder legt es fest.
MIIM_STATE
0x00000001
Ruft den fState-Member ab oder legt es fest.
MIIM_STRING
0x00000040
Ruft das dwTypeData-Element ab oder legt es fest.
MIIM_SUBMENU
0x00000004
Ruft den hSubMenu-Member ab oder legt es fest.
MIIM_TYPE
0x00000010
Ruft die Elemente fType und dwTypeData ab oder legt sie fest.

MIIM_TYPE wird durch MIIM_BITMAP, MIIM_FTYPE und MIIM_STRING ersetzt.

fType

Typ: UINT

Der Menüelementtyp. Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.

Die Werte MFT_BITMAP, MFT_SEPARATOR und MFT_STRING können nicht miteinander kombiniert werden. Legen Sie fMask auf MIIM_TYPE fest, um fType zu verwenden.

fType wird nur verwendet, wenn fMask den Wert MIIM_FTYPE hat.

Wert Bedeutung
MFT_BITMAP
0x00000004L
Zeigt das Menüelement mithilfe einer Bitmap an. Das Wort mit niedriger Reihenfolge des dwTypeData-Elements ist das Bitmaphandle, und das cch-Element wird ignoriert.

MFT_BITMAP wird durch MIIM_BITMAP und hbmpItem ersetzt.

MFT_MENUBARBREAK
0x00000020L
Places das Menüelement in einer neuen Zeile (für eine Menüleiste) oder in einer neuen Spalte (für ein Dropdownmenü, Untermenü oder Kontextmenü). Bei einem Dropdownmenü, Untermenü oder Kontextmenü trennt eine vertikale Linie die neue Spalte von der alten.
MFT_MENUBREAK
0x00000040L
Places das Menüelement in einer neuen Zeile (für eine Menüleiste) oder in einer neuen Spalte (für ein Dropdownmenü, Untermenü oder Kontextmenü). Bei einem Dropdownmenü, Untermenü oder Kontextmenü sind die Spalten nicht durch eine vertikale Linie getrennt.
MFT_OWNERDRAW
0x00000100L
Weist die Verantwortung für das Zeichnen des Menüelements dem Fenster zu, das das Menü besitzt. Das Fenster empfängt eine WM_MEASUREITEM Meldung, bevor das Menü zum ersten Mal angezeigt wird, und eine WM_DRAWITEM Meldung, wenn die Darstellung des Menüelements aktualisiert werden muss. Wenn dieser Wert angegeben wird, enthält das dwTypeData-Element einen von der Anwendung definierten Wert.
MFT_RADIOCHECK
0x00000200L
Zeigt ausgewählte Menüelemente mithilfe eines Optionsfelds anstelle eines Häkchens an, wenn das element hbmpCheckedNULL ist.
MFT_RIGHTJUSTIFY
0x00004000L
Rechtfertigt das Menüelement und alle nachfolgenden Elemente. Dieser Wert ist nur gültig, wenn sich das Menüelement in einer Menüleiste befindet.
MFT_RIGHTORDER
0x00002000L
Gibt an, dass Menüs von rechts nach links kaskadiert werden (der Standardwert ist von links nach rechts). Dies wird verwendet, um Sprachen von rechts nach links zu unterstützen, z. B. Arabisch und Hebräisch.
MFT_SEPARATOR
0x00000800L
Gibt an, dass das Menüelement ein Trennzeichen ist. Ein Menüelementtrennzeichen wird als horizontale Trennlinie angezeigt. Die Elemente dwTypeData und cch werden ignoriert. Dieser Wert ist nur in einem Dropdownmenü, Untermenü oder Kontextmenü gültig.
MFT_STRING
0x00000000L
Zeigt das Menüelement mithilfe einer Textzeichenfolge an. Das dwTypeData-Element ist der Zeiger auf eine null-endende Zeichenfolge, und das cch-Element ist die Länge der Zeichenfolge.

MFT_STRING wird durch MIIM_STRING ersetzt.

fState

Typ: UINT

Der Menüelementstatus. Bei diesem Member kann es sich um einen oder mehrere dieser Werte handeln. Legen Sie fMask auf MIIM_STATE fest, um fState zu verwenden.

Wert Bedeutung
MFS_CHECKED
0x00000008L
Überprüft das Menüelement. Weitere Informationen zu ausgewählten Menüelementen finden Sie im Element hbmpChecked .
MFS_DEFAULT
0x000001000L
Gibt an, dass das Menüelement die Standardeinstellung ist. Ein Menü kann nur ein Standardmenüelement enthalten, das fett angezeigt wird.
MFS_DISABLED
0x00000003L
Deaktiviert das Menüelement und graut es, sodass es nicht ausgewählt werden kann. Dies entspricht MFS_GRAYED.
MFS_ENABLED
0x00000000L
Aktiviert das Menüelement, damit es ausgewählt werden kann. Dies ist die Standardeinstellung.
MFS_GRAYED
0x00000003L
Deaktiviert das Menüelement und graut es, sodass es nicht ausgewählt werden kann. Dies entspricht MFS_DISABLED.
MFS_HILITE
0x00000080L
Hebt das Menüelement hervor.
MFS_UNCHECKED
0x00000000L
Deaktiviert das Menüelement. Weitere Informationen zum Löschen von Menüelementen finden Sie im Element hbmpChecked .
MFS_UNHILITE
0x00000000L
Entfernt die Hervorhebung aus dem Menüelement. Dies ist die Standardeinstellung.

wID

Typ: UINT

Ein anwendungsdefinierter Wert, der das Menüelement identifiziert. Legen Sie fMask auf MIIM_ID fest, um wID zu verwenden.

hSubMenu

Typ: HMENU

Ein Handle zum Dropdownmenü oder Untermenü, das dem Menüelement zugeordnet ist. Wenn das Menüelement kein Element ist, das ein Dropdownmenü oder Untermenü öffnet, ist dieses Element NULL. Legen Sie fMask auf MIIM_SUBMENU fest, um hSubMenu zu verwenden.

hbmpChecked

Typ: HBITMAP

Ein Handle für die Bitmap, die neben dem Element angezeigt werden soll, wenn es ausgewählt ist. Wenn dieser Member NULL ist, wird eine Standardbit verwendet. Wenn der MFT_RADIOCHECK Typwert angegeben wird, ist die Standardbitbitte ein Aufzählungszeichen. Andernfalls ist es ein Häkchen. Legen Sie fMask auf MIIM_CHECKMARKS fest, um hbmpChecked zu verwenden.

hbmpUnchecked

Typ: HBITMAP

Ein Handle für die Bitmap, die neben dem Element angezeigt werden soll, wenn es nicht ausgewählt ist. Wenn dieser Member NULL ist, wird keine Bitmap verwendet. Legen Sie fMask auf MIIM_CHECKMARKS fest, um hbmpUnchecked zu verwenden.

dwItemData

Typ: ULONG_PTR

Ein anwendungsdefinierter Wert, der dem Menüelement zugeordnet ist. Legen Sie fMask auf MIIM_DATA fest, um dwItemData zu verwenden.

dwTypeData

Typ: LPTSTR

Der Inhalt des Menüelements. Die Bedeutung dieses Members hängt vom Wert von fType ab und wird nur verwendet, wenn das flag MIIM_TYPE im fMask-Element festgelegt ist.

Um ein Menüelement vom Typ MFT_STRING abzurufen, suchen Sie zuerst die Größe der Zeichenfolge, indem Sie das dwTypeData-Element von MENUITEMINFO auf NULL festlegen und dann GetMenuItemInfo aufrufen. Der Wert von cch+1 ist die erforderliche Größe. Ordnen Sie dann einen Puffer dieser Größe zu, platzieren Sie den Zeiger auf den Puffer in dwTypeData, erhöhen Sie cch, und rufen Sie Erneut GetMenuItemInfo auf, um den Puffer mit der Zeichenfolge zu füllen. Wenn das abgerufene Menüelement einen anderen Typ aufweist, legt GetMenuItemInfo das dwTypeData-Element auf einen Wert fest, dessen Typ vom fType-Element angegeben wird.

Wenn Sie mit der SetMenuItemInfo-Funktion verwenden, sollte dieses Element einen Wert enthalten, dessen Typ vom fType-Element angegeben wird.

dwTypeData wird nur verwendet, wenn das MIIM_STRING-Flag im fMask-Element festgelegt ist.

cch

Typ: UINT

Die Länge des Menüelementtexts in Zeichen, wenn Informationen zu einem Menüelement des typs MFT_STRING empfangen werden. CCH wird jedoch nur verwendet, wenn das flag MIIM_TYPE im fMask-Element festgelegt ist und andernfalls null ist. Außerdem wird cch ignoriert, wenn der Inhalt eines Menüelements durch Aufrufen von SetMenuItemInfo festgelegt wird.

Beachten Sie, dass die Anwendung vor dem Aufrufen von GetMenuItemInfocch auf die Länge des Puffers festlegen muss, auf den das dwTypeData-Element verweist. Wenn das abgerufene Menüelement vom Typ MFT_STRING ist (wie durch das fType-Element angegeben), ändert GetMenuItemInfocch in die Länge des Menüelementtexts. Wenn das abgerufene Menüelement einen anderen Typ aufweist, legt GetMenuItemInfo das CCH-Feld auf 0 (null) fest.

Das cch-Element wird verwendet, wenn das flag MIIM_STRING im fMask-Element festgelegt ist.

hbmpItem

Typ: HBITMAP

Ein Handle für die anzuzeigende Bitmap, oder es kann sich um einen der Werte in der folgenden Tabelle handeln. Es wird verwendet, wenn das flag MIIM_BITMAP im fMask-Element festgelegt ist.

Wert Bedeutung
HBMMENU_CALLBACK
((HBITMAP) -1)
Eine Bitmap, die von dem Fenster gezeichnet wird, das das Menü besitzt. Die Anwendung muss die WM_MEASUREITEM - und WM_DRAWITEM-Nachrichten verarbeiten.
HBMMENU_MBAR_CLOSE
((HBITMAP) 5)
Schaltfläche "Schließen" für die Menüleiste.
HBMMENU_MBAR_CLOSE_D
((HBITMAP) 6)
Schaltfläche zum Schließen für die Menüleiste deaktiviert.
HBMMENU_MBAR_MINIMIZE
((HBITMAP) 3)
Schaltfläche "Minimieren" für die Menüleiste.
HBMMENU_MBAR_MINIMIZE_D
((HBITMAP) 7)
Schaltfläche "Minimieren" für die Menüleiste deaktiviert.
HBMMENU_MBAR_RESTORE
((HBITMAP) 2)
Schaltfläche "Wiederherstellen" für die Menüleiste.
HBMMENU_POPUP_CLOSE
((HBITMAP) 8)
Schaltfläche 'Schließen' für das Untermenü.
HBMMENU_POPUP_MAXIMIZE
((HBITMAP) 10)
Schaltfläche "Maximieren" für das Untermenü.
HBMMENU_POPUP_MINIMIZE
((HBITMAP) 11)
Schaltfläche "Minimieren" für das Untermenü.
HBMMENU_POPUP_RESTORE
((HBITMAP) 9)
Schaltfläche "Wiederherstellen" für das Untermenü.
HBMMENU_SYSTEM
((HBITMAP) 1)
Windows-Symbol oder das Symbol des in dwItemData angegebenen Fensters.

Hinweise

Die MENUITEMINFO-Struktur wird mit den Funktionen GetMenuItemInfo, InsertMenuItem und SetMenuItemInfo verwendet.

Im Menü können Elemente mithilfe von Text, Bitmaps oder beidem angezeigt werden.

Hinweis

Der winuser.h-Header definiert MENUITEMINFO als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile winuser.h (windows.h einschließen)

Siehe auch

Konzept

GetMenuItemInfo

InsertMenuItem

Menüs

Referenz

SetMenuItemInfo

WM_DRAWITEM

WM_MEASUREITEM