Ownerdrawn-Menüs und die WM_MENUCHAR-Nachricht

Menüs außer Ownerdrawn-Menüs können ein Menü mnemonische Zeichen durch einen Unterstrich neben Zeichen in der Zeichenfolge im Menü Einfügen angeben. Dies ermöglicht dem Benutzer das Menü auswählen, indem Sie Alt und das Menü mnemonische Zeichen eingeben. Im Ownerdrawn-Menüs können nicht Sie jedoch ein Menü mnemonische Zeichen auf diese Weise angeben. Stattdessen muss Ihre Anwendung die WM_MENUCHAR Nachricht Ownerdrawn-Menüs mit Menü mnemonische Zeichen anbieten zu verarbeiten.

Die WM_MENUCHAR-Nachricht wird gesendet, wenn der Benutzer ein Menü mnemonische Zeichen eingibt, das keines der vordefinierten Zugriffstasten des aktuellen Menüs übereinstimmt. Der Wert in wParam gibt das ASCII-Zeichen, das die der Schlüssel entspricht der Benutzer mit der Alt -Taste gedrückt. Das niederwertigen Wort von lParam kann gibt den Typ des ausgewählten Menüs und auf die folgenden Werte:

Das hohe Word der lParam enthält das Menü-Handle für das aktuelle Menü. Das Fenster mit den Ownerdrawn-Menüs kann WM_MENUCHAR wie folgt verarbeiten:

fall WM_MENUCHAR:
      nIndex = bestimmen Index des Menüelements aus ausgewählt werden
               Zeichen, die eingegeben wurde und Handle für den aktuellen
               Menü.
      Rückkehr MAKELRESULT (nIndex, 2) 

Die beiden in das hohe Word der der Rückgabewert informiert dem System, dass das niedrigwertigen Wort des der Rückgabewert enthält den nullbasierten Index des Menüelements im ausgewählt werden.

Die folgenden Konstanten (definiert ab Windows 95 und Windows NT Version 4.0) entsprechen die möglichen Rückgabewerte von der WM_MENUCHAR-Nachricht:

Konstante Wert Bedeutung
MNC_IGNORE 0 Das System sollte das Zeichen der Benutzer gedrückt und erstellen einen kurzen Signalton über den Systemlautsprecher verwerfen.
MNC_CLOSE 1 Das System sollte das aktive Menü schließen.
MNC_EXECUTE 2 Das System sollte das Element in das niedrige Word der der Rückgabewert angegeben gewählt werden. Das Besitzerfenster erhält eine WM_COMMAND -Nachricht.
MNC_SELECT 3 Das System sollte in das niedrige Word der der Rückgabewert angegebene Element auswählen.