Eier-trukket menyer og WM_MENUCHAR meldingen

Menyer annet enn eier trukket menyer kan angi en menyen mnemonic ved å sette inn et understrekingstegn ved siden av et tegn i strengen menyen. Dette gjør det mulig for brukeren å velge menyen ved å skrive inn alt og menyen mnemonic tegnet. I eier-trukket menyer, men kan ikke du angi en menyen mnemonic på denne måten. I stedet, søknaden må behandle meldingen WM_MENUCHAR å gi eieren trukket menyer med Menyhuskekoder.

WM_MENUCHAR-meldingen blir sendt når brukeren skriver en menyen mnemonic som ikke samsvarer med noen av de forhåndsdefinerte mnemoniske av gjeldende menyen. Verdien i wParam angir ASCII-tegn som tilsvarer tasten du har brukeren trykket med alt -tasten. Signifikante ordet av lParam angir den valgte menyen og kan være på av de følgende verdiene:

Signifikante ordet av lParam inneholder Menyreferanse til gjeldende-menyen. Vinduet med eieren trukket menyene kan behandle WM_MENUCHAR som følger:

rettssak WM_MENUCHAR:
      nIndex = fastslå indeksen for menyelementet velges fra
               tegn som ble skrevet inn og håndtak til gjeldende
               menyen.
      gå tilbake til MAKELRESULT (nIndex, 2) 

De to i signifikante ordet av returverdien informerer systemet at signifikante ordet av returverdien inneholder nullbasert indeksen for menyelementet velges.

Følgende konstanter (definerte starter med Windows 95 og Windows NT versjon 4.0) tilsvarer de mulige verdier som rapporteres fra WM_MENUCHAR-melding:

Konstant Verdi Betydning
MNC_IGNORE 0 Systemet skal forkaste tegnet brukeren trykket og opprette et kort lydsignal på systemet høyttaleren.
MNC_CLOSE 1 Systemet bør lukke den aktive-menyen.
MNC_EXECUTE 2 Systemet bør velge elementet som er angitt i signifikante ordet av verdien som returneres. Eiervinduet som mottar en WM_COMMAND -melding.
MNC_SELECT 3 Systemet bør velge elementet som er angitt i signifikante ordet av returverdien.