Elaborazione del messaggio WM_COMMAND in una finestra di dialogo dal proprietario

Quando si verifica un evento in una casella di dialogo, il controllo notifica la procedura di finestra di dialogo per mezzo di un messaggio WM_COMMAND . L'esempio nella creazione di una finestra di dialogo piazza pasto elabora i messaggi di notifica da casella combinata, casella di riepilogo e il tasto OK . L'identificatore del controllo nella parola significativi di wParam, e il messaggio di notifica nella parola significativi di wParam.

Se l'identificatore del controllo IDCOMBO, un evento si verificato nella casella combinata. In risposta, la procedura di dialogo casella Ignora tutte le altre manifestazioni di casella combinata ad eccezione di CBN_SELENDOK, che indica che stata effettuata una selezione, a discesa stato chiuso, e devono essere accettate le modifiche apportate. Le chiamate a procedura di dialogo casella InitFoodList per ripristinare il contenuto della casella di riepilogo e di aggiungere i nomi della selezione corrente nella casella di riepilogo a discesa.

Se l'identificatore del controllo IDLIST, un evento si verificato nella casella di riepilogo. Questo fa s che la procedura di finestra di dialogo casella di ignorare tutti gli eventi di casella Elenco tranne LBN_DBLCLK, che indica che l'utente ha fatto doppio clic una voce di elenco. Questo evento viene elaborato nello stesso modo come se stato scelto un pulsante OK.

Se l'identificatore del controllo IDOK, l'utente ha scelto il pulsante OK . In risposta, la procedura di casella di dialogo inserisce il nome di cibo selezionato nel controllo di modifica su pi righe dell'applicazione, quindi chiama la funzione EndDialog per chiudere la finestra di dialogo.

Se l'identificatore del controllo IDCANCEL, l'utente ha fatto clic sul pulsante Annulla . In risposta, la procedura di casella di dialogo chiama EndDialog per chiudere la finestra di dialogo.