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;

Angehörige

cbSize

Typ: UINT-

Die Größe der Struktur in Byte. Der Aufrufer muss dieses Mitglied auf sizeof(MENUITEMINFO)festlegen.

fMask

Typ: UINT-

Gibt die Elemente an, die abgerufen oder festgelegt werden sollen. Bei diesem Element kann es sich um einen oder mehrere der folgenden Werte handeln.

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

MIIM_TYPE wird durch MIIM_BITMAP, MIIM_FTYPEund MIIM_STRINGersetzt.

fType

Typ: UINT-

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

Die werte MFT_BITMAP, MFT_SEPARATORund 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_FTYPEhat.

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

MFT_BITMAP wird durch MIIM_BITMAP und hbmpItemersetzt.

MFT_MENUBARBREAK
0x000000020L
Platziert 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
Platziert 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ü werden die Spalten nicht durch eine vertikale Linie getrennt.
MFT_OWNERDRAW
0x00000100L
Weist die Verantwortung für das Zeichnen des Menüelements auf das Fenster zu, das das Menü besitzt. Das Fenster empfängt eine WM_MEASUREITEM Nachricht, bevor das Menü zum ersten Mal angezeigt wird, und eine WM_DRAWITEM Nachricht, wenn die Darstellung des Menüelements aktualisiert werden muss. Wenn dieser Wert angegeben ist, enthält das dwTypeData-element ein anwendungsdefinierter Wert.
MFT_RADIOCHECK
0x00000200L
Zeigt ausgewählte Menüelemente mithilfe eines Optionsfeldzeichens anstelle eines Häkchens an, wenn das hbmpChecked-element NULL-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 überlappen (der Standardwert ist von links nach rechts). Dies wird verwendet, um Rechts-nach-links-Sprachen wie Arabisch und Hebräisch zu unterstützen.
MFT_SEPARATOR
0x00000800L
Gibt an, dass das Menüelement ein Trennzeichen ist. Ein Menüelementtrennzeichen wird als horizontale Trennlinie angezeigt. Die dwTypeData- und cch-Member werden ignoriert. Dieser Wert ist nur in einem Dropdownmenü, Untermenü oder Kontextmenü gültig.
MFT_STRING
0x000000000L
Zeigt das Menüelement mithilfe einer Textzeichenfolge an. Der dwTypeData--Member ist der Zeiger auf eine mit Null beendete Zeichenfolge, und der cch Member ist die Länge der Zeichenfolge.

MFT_STRING wird durch MIIM_STRINGersetzt.

fState

Typ: UINT-

Der Status des Menüelements. Dieses Element kann einen oder mehrere dieser Werte sein. 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 hbmpChecked Member.
MFS_DEFAULT
0x00001000L
Gibt an, dass das Menüelement die Standardeinstellung ist. Ein Menü kann nur ein Standardmenüelement enthalten, das fett formatiert 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
0x000000000L
Aktiviert das Menüelement, damit es ausgewählt werden kann. Dies ist der Standardzustand.
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
0x000000000L
Deaktiviert das Menüelement. Weitere Informationen zum Löschen von Menüelementen finden Sie im hbmpChecked Member.
MFS_UNHILITE
0x000000000L
Entfernt die Hervorhebung aus dem Menüelement. Dies ist der Standardzustand.

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 dieses Element NULL-ist, wird eine Standardbitmap verwendet. Wenn der wert des typs MFT_RADIOCHECK angegeben ist, ist die Standardbitmap ein Aufzählungszeichen. Andernfalls handelt es sich um 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 dieses Element NULL-ist, wird keine Bitmap verwendet. Legen Sie fMask- auf MIIM_CHECKMARKS fest, um hbmpUncheckedzu 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 Elements hängt vom Wert fType- ab und wird nur verwendet, wenn das MIIM_TYPE Flag im fMask--Element festgelegt ist.

Um ein Menüelement vom Typ MFT_STRINGabzurufen, suchen Sie zuerst die Größe der Zeichenfolge, indem Sie das dwTypeData Member von MENUITEMINFO auf NULL- und dann GetMenuItemInfoaufrufen. Der Wert cch+1 ist die erforderliche Größe. Weisen Sie dann einen Puffer dieser Größe zu, platzieren Sie den Zeiger auf den Puffer in dwTypeData-, erhöht cch, und rufen Sie GetMenuItemInfo erneut auf, um den Puffer mit der Zeichenfolge auszufüllen. Wenn das abgerufene Menüelement einen anderen Typ aufweist, legt GetMenuItemInfo das dwTypeData-Element auf einen Wert fest, dessen Typ durch das fType-Element angegeben wird.

Bei Verwendung mit der SetMenuItemInfo--Funktion sollte dieses Element einen Wert enthalten, dessen Typ durch das fType--Element angegeben wird.

dwTypeData- wird nur verwendet, wenn das MIIM_STRING Flag im fMask Member 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 MIIM_TYPE Flag im fMask Member festgelegt ist und andernfalls Null ist. Außerdem wird cch- ignoriert, wenn der Inhalt eines Menüelements durch Aufrufen SetMenuItemInfofestgelegt wird.

Beachten Sie, dass die Anwendung vor dem Aufrufen GetMenuItemInfo-Cch- auf die Länge des Puffers festlegen muss, auf den der dwTypeData--Member verweist. Wenn das abgerufene Menüelement vom Typ MFT_STRING ist (wie durch den fType Member 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 Null fest.

Das cch Member wird verwendet, wenn das MIIM_STRING Flag im fMask Member 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. Sie wird verwendet, wenn das MIIM_BITMAP Flag im fMask--Element festgelegt wird.

Wert Bedeutung
HBMMENU_CALLBACK
((HBITMAP) -1)
Eine Bitmap, die vom 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)
Deaktivierte Schaltfläche "Schließen" für die Menüleiste.
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)
Maximieren-Schaltfläche 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 Fensters, das in dwItemData-angegeben ist.

Bemerkungen

Die MENUITEMINFO--Struktur wird zusammen mit den funktionen GetMenuItemInfo, InsertMenuItemund SetMenuItemInfo verwendet.

Das Menü kann Elemente mithilfe von Text, Bitmaps oder beides anzeigen.

Anmerkung

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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Header- winuser.h (enthalten Windows.h)

Siehe auch

Konzeptionelle

GetMenuItemInfo-

InsertMenuItem-

Menüs

Referenz-

SetMenuItemInfo-

WM_DRAWITEM

WM_MEASUREITEM