Messaggi utilizzati con menu

Il sistema di relazioni attivitÓ correlate ai men¨ l'invio di messaggi alla procedura della finestra che possiede il menu finestra. Il sistema invia una serie di messaggi, quando l'utente seleziona gli elementi sulla barra dei menu o fa clic sul pulsante destro del mouse per visualizzare un menu di scelta rapida.

Quando l'utente attiva un elemento sulla barra dei menu, la finestra proprietaria prima riceve un messaggio WM_SYSCOMMAND . Questo messaggio include un flag che indica se l'utente ha attivato il menu utilizzando la tastiera (SC_KEYMENU) o il mouse (SC_MOUSEMENU). Per ulteriori informazioni, vedere Accesso da tastiera ai menu.

Quindi, prima di visualizzare qualsiasi menu, il sistema invia il messaggio WM_INITMENU routine di finestra in modo che un'applicazione pu˛ modificare i menu prima che l'utente li vede. Il sistema invia il messaggio WM_INITMENU una sola volta per attivazione dal menu.

Quando l'utente punti a una voce di menu che si apre un sottomenu, il sistema invia la finestra proprietaria il messaggio WM_INITMENUPOPUP prima di visualizzare il sottomenu. Questo messaggio fornisce all'applicazione la possibilitÓ di modificare il sottomenu prima che vengano visualizzati.

Ogni volta che l'utente sposta l'evidenziazione da un elemento a altro, il sistema invia un messaggio WM_MENUSELECT di routine di finestra del finestra proprietaria del menu. Questo messaggio identifica la voce di menu selezionata. Molte applicazioni forniscono un'area informazioni nella parte inferiore della loro finestre principali e utilizzano questo messaggio per visualizzare ulteriori informazioni sulla voce di menu selezionata.

Quando l'utente sceglie un elemento di comando dal menu principale, il sistema invia un messaggio WM_COMMAND routine di finestra. La parola di ordine inferiore del parametro wParam del messaggio WM_COMMAND contiene l'identificatore dell'elemento selezionato. La routine della finestra deve esaminare l'identificatore e l'elaborazione del messaggio di conseguenza.

Non tutti i menu sono accessibili tramite la barra dei menu di una finestra. Molte applicazioni visualizzare menu di scelta rapida quando l'utente fa clic sul pulsante destro del mouse in una posizione specifica. Tali applicazioni devono elaborare il messaggio WM_CONTEXTMENU e visualizzare un menu di scelta rapida, se del caso. Se un'applicazione non viene visualizzato un menu di scelta rapida, dovrebbe passare il messaggio WM_CONTEXTMENU alla funzione DefWindowProc per l'elaborazione predefinita.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index