Condividi tramite


comandi (routing)

La responsabilità di lavorare con i comandi è limitata all'esecuzione di connessioni di mapping dei messaggi tra i comandi e le relative funzioni del gestore, un'attività per cui si usa la Creazione guidata classe MFC. È anche necessario scrivere il codice per i gestori dei comandi.

I messaggi di Windows in genere sono inviati alla finestra cornice principale, ma i messaggi di comando vengono indirizzati in seguito ad altri oggetti. Il framework indirizza i comandi attraverso una sequenza standard di oggetti destinazione comando, uno dei quali deve disporre di un gestore per il comando. Ogni oggetto destinazione comando controlla la propria mappa messaggi per verificare se può gestire il messaggio in arrivo.

Classi di destinazione comando diverse controllano le proprie mappe messaggi in momenti diversi. In genere una classe indirizza il comando a determinati altri oggetti per concedere a questi la prima opportunità di gestire il comando. Se nessuno di questi oggetti gestisce il comando, la classe originale controlla la propria mappa messaggi. Quindi, se non riesce a fornire un gestore, può indirizzare il comando ad altre destinazioni comando. La tabella Routing standard dei comandi che segue mostra in che modo ciascuna delle classi struttura questa sequenza. L'ordine generale in cui una destinazione comando esegue il routing di un comando è:

  1. Al proprio oggetto destinazione comando figlio attivo al momento.

  2. Nel dispositivo stesso.

  3. Ad altre destinazioni comando.

Quanto è costoso questo meccanismo di routing Rispetto a ciò che il gestore esegue in risposta a un comando, il costo del routing è basso. Occorre tenere presente che il framework genera comandi solo quando l'utente interagisce con un oggetto dell'interfaccia utente.

Routing standard dei comandi

Quando un oggetto di questo tipo riceve un comando . . . Concede a se stesso e ad altri oggetti destinazione comando l'opportunità di gestire il comando in questo ordine:
Finestra cornice MDI (CMDIFrameWnd) 1. Attivo CMDIChildWnd
2. Questa finestra cornice
3. Applicazione (CWinApp oggetto)
Finestre cornice del documento (CFrameWnd, CMDIChildWnd) 1. Visualizzazione attiva
2. Questa finestra cornice
3. Applicazione (CWinApp oggetto)
Visualizzazione 1. Questa visualizzazione
2. Documento allegato alla vista
Document 1. Questo documento
2. Modello di documento allegato al documento
Finestra di dialogo 1. Questa finestra di dialogo
2. Finestra proprietaria della finestra di dialogo
3. Applicazione (CWinApp oggetto)

Nei casi in cui le voci numerate nella seconda colonna della tabella precedente menzionano altri oggetti, come un documento, vedere l'elemento corrispondente nella prima colonna. Ad esempio, quando si legge nella seconda colonna che la visualizzazione inoltra un comando al suo documento, vedere la voce "Documento" nella prima colonna per continuare a seguire il routing.

Vedi anche

Chiamata di un gestore dal framework