AppendMenuW-Funktion (winuser.h)
Fügt ein neues Element am Ende der angegebenen Menüleiste, des Dropdownmenüs, des Untermenüs oder des Kontextmenüs an. Sie können diese Funktion verwenden, um den Inhalt, die Darstellung und das Verhalten des Menüelements anzugeben.
Syntax
BOOL AppendMenuW(
[in] HMENU hMenu,
[in] UINT uFlags,
[in] UINT_PTR uIDNewItem,
[in, optional] LPCWSTR lpNewItem
);
Parameter
[in] hMenu
Typ: HMENU
Ein Handle für die Menüleiste, das Dropdownmenü, das Untermenü oder das Kontextmenü, das geändert werden soll.
[in] uFlags
Typ: UINT
Steuert die Darstellung und das Verhalten des neuen Menüelements. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.
Wert | Bedeutung |
---|---|
|
Verwendet eine Bitmap als Menüelement. Der lpNewItem-Parameter enthält ein Handle für die Bitmap. |
|
Setzt ein Häkchen neben dem Menüelement. Wenn die Anwendung Häkchen-Bitmaps bereitstellt (siehe SetMenuItemBitmaps, zeigt dieses Flag die Häkchen-Bitmap neben dem Menüelement an. |
|
Deaktiviert das Menüelement, sodass es nicht ausgewählt werden kann, aber das Flag nicht graut. |
|
Aktiviert das Menüelement, sodass es ausgewählt werden kann, und stellt es aus dem abgegrauten Zustand wieder her. |
|
Deaktiviert das Menüelement und graut es, sodass es nicht ausgewählt werden kann. |
|
Funktioniert genauso wie das MF_MENUBREAK-Flag für eine Menüleiste. Bei einem Dropdownmenü, Untermenü oder Kontextmenü wird die neue Spalte durch eine vertikale Linie von der alten Spalte getrennt. |
|
Platziert das Element in einer neuen Zeile (für eine Menüleiste) oder in einer neuen Spalte (für ein Dropdownmenü, Untermenü oder Kontextmenü), ohne Spalten zu trennen. |
|
Gibt an, dass es sich bei dem Element um ein vom Besitzer gezeichnetes Element handelt. Bevor das Menü zum ersten Mal angezeigt wird, erhält das Fenster, das das Menü besitzt, eine WM_MEASUREITEM Meldung, um die Breite und Höhe des Menüelements abzurufen. Die WM_DRAWITEM Nachricht wird dann an die Fensterprozedur des Besitzerfensters gesendet, wenn die Darstellung des Menüelements aktualisiert werden muss. |
|
Gibt an, dass das Menüelement ein Dropdownmenü oder Untermenü öffnet. Der uIDNewItem-Parameter gibt ein Handle für das Dropdownmenü oder untermenü an. Dieses Flag wird verwendet, um einer Menüleiste einen Menünamen oder ein Menüelement hinzuzufügen, das ein Untermenü zu einem Dropdownmenü, untermenü oder Kontextmenü öffnet. |
|
Zeichnet eine horizontale Trennlinie. Dieses Flag wird nur in einem Dropdownmenü, Untermenü oder Kontextmenü verwendet. Die Zeile kann nicht abgeblendet, deaktiviert oder hervorgehoben werden. Die Parameter lpNewItem und uIDNewItem werden ignoriert. |
|
Gibt an, dass das Menüelement eine Textzeichenfolge ist. der lpNewItem-Parameter ist ein Zeiger auf die Zeichenfolge. |
|
Setzt kein Häkchen neben dem Element (Standard). Wenn die Anwendung Häkchen-Bitmaps bereitstellt (siehe SetMenuItemBitmaps), zeigt dieses Flag die klare Bitmap neben dem Menüelement an. |
[in] uIDNewItem
Typ: UINT_PTR
Der Bezeichner des neuen Menüelements oder, wenn der uFlags-Parameter auf MF_POPUP festgelegt ist, ein Handle zum Dropdownmenü oder Untermenü.
[in, optional] lpNewItem
Typ: LPCTSTR
Der Inhalt des neuen Menüelements. Die Interpretation von lpNewItem hängt davon ab, ob der uFlags-Parameter die folgenden Werte enthält.
Wert | Bedeutung |
---|---|
|
Enthält ein Bitmaphandle. |
|
Enthält einen von der Anwendung bereitgestellten Wert, mit dem zusätzliche Daten im Zusammenhang mit dem Menüelement verwaltet werden können. Der Wert befindet sich im elementData-Element der Struktur, auf das vom lParam-Parameter des WM_MEASUREITEM oder WM_DRAWITEM Nachricht gesendet wird, die gesendet wird, wenn das Menü erstellt oder seine Darstellung aktualisiert wird. |
|
Enthält einen Zeiger auf eine null-beendete Zeichenfolge. |
Rückgabewert
Typ: BOOL
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null. Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Die Anwendung muss die DrawMenuBar-Funktion aufrufen, wenn sich ein Menü ändert, unabhängig davon, ob sich das Menü in einem angezeigten Fenster befindet.
Damit Tastaturbeschleunigungen mit Bitmap- oder von Besitzern gezeichneten Menüelementen verwendet werden können, muss der Besitzer des Menüs die WM_MENUCHAR Nachricht verarbeiten. Weitere Informationen finden Sie unter Vom Besitzer gezeichnete Menüs und die WM_MENUCHAR Nachricht.
Die folgenden Flaggruppen können nicht zusammen verwendet werden:
- MF_BITMAP, MF_STRING und MF_OWNERDRAW
- MF_CHECKED und MF_UNCHECKED
- MF_DISABLED, MF_ENABLED und MF_GRAYED
- MF_MENUBARBREAK und MF_MENUBREAK
Beispiele
Ein Beispiel finden Sie unter Hinzufügen von Linien und Diagrammen zu einem Menü.
Hinweis
Der winuser.h-Header definiert AppendMenu als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
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
Referenz
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für