Tasti di scelta rapida e menu

Usando un acceleratore lo stesso di una voce di menu di scelta: entrambe le azioni provocano il sistema invia un messaggio WM_COMMAND o WM_SYSCOMMAND per la routine di finestra corrispondente. Il messaggio WM_COMMAND include un identificatore che la routine della finestra esamina per determinare l'origine del messaggio. Se un acceleratore generato il messaggio WM_COMMAND, l'identificatore quella dell'acceleratore. Allo stesso modo, se una voce di menu generato il messaggio WM_COMMAND, l'identificatore quello della voce di menu. Perch un acceleratore fornisce un collegamento per la scelta di un comando dal menu principale, di solito un'applicazione assegna lo stesso identificatore per l'acceleratore e la voce di menu corrispondente.

Un'applicazione elabora un messaggio WM_COMMAND acceleratore in esattamente allo stesso modo come messaggio WM_COMMAND di elemento corrispondente dal menu. Tuttavia, il messaggio WM_COMMAND contiene un flag che specifica se il messaggio ha avuto origine da un acceleratore o una voce di menu, nel caso in cui gli acceleratori devono essere trattati in modo diverso da loro corrispondenti voci di menu. Questo flag non contiene il messaggio WM_SYSCOMMAND.

L'identificatore determina se un acceleratore genera un messaggio WM_COMMAND o WM_SYSCOMMAND. Se l'identificatore ha lo stesso valore di una voce di menu nel menu di sistema, l'acceleratore genera un messaggio WM_SYSCOMMAND. In caso contrario, l'acceleratore genera un messaggio WM_COMMAND.

Se un acceleratore ha lo stesso identificatore come una voce di menu e la voce di menu viene visualizzato in grigio o disattivata, l'acceleratore disattivato e non genera un messaggio WM_COMMAND o WM_SYSCOMMAND. Inoltre, un acceleratore non genera un messaggio di comando se ridotto a icona la finestra corrispondente.

Quando l'utente utilizza un acceleratore che corrisponde a una voce di menu, la routine della finestra riceve i messaggi WM_INITMENU e WM_INITMENUPOPUP , come se l'utente ha selezionato la voce di menu. Per informazioni su come elaborare questi messaggi, vedere menu.

Un acceleratore che corrisponde a una voce di menu deve essere incluso nel testo della voce di menu.