Menu creati dal proprietario e il messaggio WM_MENUCHAR

Menu diverso da menu creati dal proprietario pu˛ specificare un tasto di scelta dal menu tramite l'inserimento di un carattere di sottolineatura accanto a un carattere nella stringa dal menu. Questo permette all'utente di selezionare il menu premendo alt e il carattere mnemonico dal menu. Nei menu creati dal proprietario, tuttavia, non Ŕ possibile specificare un tasto di scelta di men¨ in questo modo. Invece, l'applicazione deve elaborare il messaggio WM_MENUCHAR per fornire menu creati dal proprietario con tasti di scelta rapida dal menu.

Il messaggio WM_MENUCHAR viene inviato quando l'utente digita un tasto di scelta di men¨ che non corrisponde a nessuna dei tasti di scelta rapida predefiniti di menu corrente. Il valore contenuto in wParam specifica il carattere ASCII corrispondente alla chiave che l'utente ha premuto con il tasto alt . La parola di ordine inferiore di lParam specifica il tipo di menu selezionata e pu˛ essere su dei seguenti valori:

La parola di ordine superiore di lParam contiene l'handle di men¨ per menu corrente. La finestra con i menu creati dal proprietario in grado di elaborare WM_MENUCHAR come segue:

caso WM_MENUCHAR:
      nIndex = indice Determine della voce di menu per essere selezionati da
               carattere digitato e maniglia alla corrente
               nel menu.
      return MAKELRESULT (nIndex, 2) 

I due nella parola significativi del valore restituito informa il sistema che la parola di ordine inferiore del valore restituito contiene l'indice della voce di menu a scelta.

Le seguenti costanti (definito a partire con la versione di Windows 95 e Windows NT 4.0) corrispondono ai possibili valori restituiti dal messaggio di WM_MENUCHAR:

Costante Valore Significato
MNC_IGNORE 0 Il sistema dovrebbe scartare il personaggio che l'utente preme e creare un breve segnale acustico sull'altoparlante sistema.
MNC_CLOSE 1 Il sistema dovrebbe chiudere il menu attivo.
MNC_EXECUTE 2 Il sistema dovrebbe scegliere l'elemento specificato nella parola significativi del valore restituito. La finestra proprietario riceve un messaggio WM_COMMAND.
MNC_SELECT 3 Il sistema dovrebbe selezionare l'elemento specificato nella parola significativi del valore restituito.