Wyciągnąć właściciela menu i komunikat WM_MENUCHAR

Menu innych niż rysowane właściciela menu można określić wartość menu przez wstawienie znaku podkreślenia obok znaku w ciągu menu. To pozwala użytkownikowi wybrać menu wpisując alt i znak mnemoniczny menu. Jednakże, w menu rysowania przez właściciela, nie można określić wartość menu w ten sposób. Zamiast tego aplikacja musi przetwarzają wiadomość WM_MENUCHAR zapewnienie rysowane właściciela menu menu symboli.

Wiadomość WM_MENUCHAR jest wysyłany, gdy użytkownik wpisze wartość menu, które nie odpowiadają żadnym wstępnie symboli menu bieżącej. Wartość zawarta w wParam określa znak ASCII, który odpowiada kluczowi użytkownik nacisnął klawisz alt . Słowo bity fikcyjnymi określa typ wybranego menu i mogą być następujące wartości:

Słowo wysokich numerach fikcyjnymi zawiera uchwyt menu do bieżącego menu. Okno z menu rysowane właściciel może przetwarzać WM_MENUCHAR następująco:

sprawa WM_MENUCHAR:
      nIndex = indeks Określanie elementu menu, wybieranych z
               znak, który został wpisany i uchwyt w bieżącym
               menu.
      Zwraca MAKELRESULT (nIndex, 2) 

Dwa słowa wysokich numerach wartość zwracany informuje system słowo bity wartość zwracany zawiera indeksu elementu menu, wybieranych.

Następujące stałe (zdefiniowany począwszy od wersji systemu Windows 95 i Windows NT 4.0) odpowiadają możliwe wartości z wiadomości WM_MENUCHAR:

Stała Wartość Znaczenie
MNC_IGNORE 0 System należy odrzucić znaku użytkownika naciśnięcia i utworzyć krótki sygnał głośnika systemu.
MNC_CLOSE 1 System należy zamknąć menu aktywnego.
MNC_EXECUTE 2 System należy wybrać element określone w programie word bity wartości zwracanej. Okno właściciela odbiera wiadomość WM_COMMAND.
MNC_SELECT 3 System należy wybrać element określone w programie word bity wartości zwracanej.