Proprietarul-trase meniuri și mesaj WM_MENUCHAR

Meniuri altele decât proprietarul-trase meniuri poate specifica un mnemonic meniul inserând un caracter de subliniere, lângă la un caracter în șirul de meniu. Acest lucru permite utilizatorului pentru a selecta meniul tastând alt și caracterul mnemonic meniu. Proprietarul-trase meniuri, cu toate acestea, nu specificați un mnemonic meniul în acest mod. În schimb, aplicația trebuie să prelucreze mesajul WM_MENUCHAR pentru a furniza proprietar-trase meniuri meniul mnemonics.

WM_MENUCHAR mesaj se trimite atunci când tipurile de utilizator un meniu mnemonic care nu se potrivește orice de mnemonics predefinite din meniul curent. Valoarea conținută în wParam specifică ASCII caracterul care corespunde la cheie de utilizator presat, cu tasta alt . Cuvântul low-ordine lParam specifică tipul de meniul selectat și pot fi pe de următoarele valori:

Cuvântul high-ordine lParam conține ghidajul de meniu în meniul curent. Fereastra cu meniuri trase proprietar poate procesa WM_MENUCHAR după cum urmează:

cazul WM_MENUCHAR:
      nIndex = index determină element de meniu pentru a fi selectate din
               caracterul care a fost tastat și mâner de curent
               meniul.
      return MAKELRESULT (nIndex, 2) 

Cele două în cuvântul de înaltă-ordinea valorii returnate informează sistemul că cuvântul-low-comandă valoarea returnată conține indexul zero-based elementul de meniu să fie selectat.

Următoarele constante (definite începând cu versiunea Windows 95 și Windows NT 4.0) corespund valorilor retur posibil din mesaj WM_MENUCHAR:

Constantă Valoarea Sensul
MNC_IGNORE 0 Sistemul trebuie să renunțați la caracterul utilizatorul presate și de a crea un bip scurt pe speaker sistem.
MNC_CLOSE 1 Sistemul trebuie să închideți meniul active.
MNC_EXECUTE 2 Sistemul trebuie să selectați elementul specificat în cuvântul low-ordinea valorii returnate. Fereastra proprietar primește un mesaj de WM_COMMAND.
MNC_SELECT 3 Sistemul trebuie să selectați elementul specificat în cuvântul low-ordinea valorii returnate.