Invio e ricezione di messaggi

Prendere in considerazione la parte di invio del processo e il modo in cui il framework risponde.

La maggior parte dei messaggi deriva dall'interazione dell'utente con il programma. I comandi vengono generati dai clic del mouse nelle voci di menu o nei pulsanti della barra degli strumenti o tramite le sequenze di tasti di scelta rapida. L'utente genera anche messaggi di Windows, ad esempio lo spostamento o il ridimensionamento di una finestra. Altri messaggi di Windows vengono inviati quando si verificano eventi come l'avvio o la terminazione del programma, in quanto le finestre ottengono o perdono lo stato attivo e così via. I messaggi di notifica di controllo vengono generati da clic del mouse o da altre interazioni utente con un controllo, ad esempio un pulsante o un controllo casella di riepilogo in una finestra di dialogo.

La Run funzione membro della classe CWinApp recupera i messaggi e li invia alla finestra appropriata. La maggior parte dei messaggi di comando viene inviata alla finestra cornice principale dell'applicazione. Il WindowProc valore predefinito dalla libreria di classi ottiene i messaggi e li instrada in modo diverso, a seconda della categoria di messaggi ricevuti.

Si consideri ora la parte ricevente del processo.

Il ricevitore iniziale di un messaggio deve essere un oggetto finestra. I messaggi di Windows vengono in genere gestiti direttamente da tale oggetto finestra. I messaggi di comando, in genere originati nella finestra cornice principale dell'applicazione, vengono indirizzati alla catena di destinazione del comando descritta in Routing dei comandi.

Ogni oggetto in grado di ricevere messaggi o comandi ha la propria mappa messaggi che associa un messaggio o un comando con il nome del relativo gestore.

Quando un oggetto di destinazione del comando riceve un messaggio o un comando, cerca una corrispondenza nella mappa dei messaggi. Se trova un gestore per il messaggio, chiama il gestore. Per altre informazioni sulla ricerca delle mappe messaggi, vedere How the Framework Search Message Mappe.For more information about how message maps are searched, see How the Framework Search Message Mappe. Fare di nuovo riferimento alla figura Comandi nel framework.

Vedi anche

Chiamata di un gestore dal framework