Eigenaar getekende menu's en het WM_MENUCHAR bericht

Menu's anders dan de eigenaar getekende menu's kunnen een menu mnemonic opgeven door een onderstrepingsteken naast een teken in de tekenreeks menu invoegen. Hierdoor kan de gebruiker het menu selecteren door alt en het menu mnemonic teken te typen. In eigenaar getekende menu's, echter, kan niet u een menu mnemonic op deze manier. In plaats daarvan, moet uw toepassing de WM_MENUCHAR bericht aan de eigenaar getekende menu's voorzien van menu-geheugensteuntjes verwerken.

De WM_MENUCHAR-bericht wordt verzonden wanneer de gebruiker typt een menu mnemonic niet overeenkomt met een van de vooraf gedefinieerde mnemonics van het huidige menu. De waarde in de wParam geeft het ASCII-teken dat overeenkomt met de sleutel van de gebruiker met de alt -toets ingedrukt. De lage-orde woord van lParam kan geeft het type van het geselecteerde menu en op van de volgende waarden:

De eersterangs woord van lParam bevat de menu-ingang voor het huidige menu. Het venster met de eigenaar getekende menu's kan als volgt WM_MENUCHAR verwerken:

case WM_MENUCHAR:
      nIndex = bepalen index van menu-item moeten worden gekozen uit
               teken die hebt getypt en handvat aan de huidige
               menu.
      terug MAKELRESULT (nIndex, 2) 

De twee in de eersterangs woord van de resulterende waarde informeert het systeem dat het woord van lagere orde van de resulterende waarde de op nul gebaseerde index van het menu-item bevat moet worden geselecteerd.

De volgende constanten (gedefinieerde beginnend met Windows 95 en Windows NT versie 4.0) komen overeen met de mogelijke resultaatwaarden van het bericht WM_MENUCHAR:

Constante Waarde Betekenis
MNC_IGNORE 0 Het systeem moet negeren het teken de gebruiker ingedrukt en een korte pieptoon maken via de luidspreker.
MNC_CLOSE 1 Het systeem moet het actieve menu sluiten.
MNC_EXECUTE 2 Het systeem moet kiezen voor het item dat wordt opgegeven in het woord van lagere orde van de resulterende waarde. Het venster eigenaar ontvangt een WM_COMMAND -bericht.
MNC_SELECT 3 Het systeem moet selecteren het item dat wordt opgegeven in het woord van lagere orde van de resulterende waarde.