Gestore OnCmdMsg
Per eseguire il routing dei comandi, ogni destinazione del comando chiama la OnCmdMsg
funzione membro della destinazione del comando successiva nella sequenza. Le destinazioni dei comandi usano OnCmdMsg
per determinare se possono gestire un comando e indirizzarlo a un'altra destinazione di comando se non possono gestirlo.
Ogni classe di destinazione del comando può eseguire l'override della OnCmdMsg
funzione membro. Le sostituzioni consentono a ogni classe di indirizzare i comandi a una determinata destinazione successiva. Una finestra cornice, ad esempio, instrada sempre i comandi alla finestra o alla visualizzazione figlio corrente, come illustrato nella tabella Route comando standard.
L'implementazione predefinita CCmdTarget
di OnCmdMsg
usa la mappa messaggi della classe di destinazione del comando per cercare una funzione del gestore per ogni messaggio di comando ricevuto, nello stesso modo in cui vengono cercati i messaggi standard. Se trova una corrispondenza, chiama il gestore. La ricerca con mapping dei messaggi è illustrata in Come il framework cerca il messaggio Mappe.