Condividi tramite


Routing dei comandi

Responsabilità nell'utilizzo dei controlli è limitata a stabilire connessioni della mappa messaggi tra i controlli e le funzioni di gestione, un'attività per il quale si utilizza la Finestra Proprietà. È inoltre necessario scrivere la maggior parte dei gestori comandi.

I messaggi di windows in genere vengono inviati alla finestra cornice principale, ma i messaggi di comando vengono quindi inviati ad altri oggetti. Il framework è destinato ai controlli con una sequenza standard di oggetti di destinazione comando, uno con si deve disporre di un gestore per il comando. Ogni oggetto di destinazione comando controlla la mappa messaggi per verificare se può gestire il messaggio in arrivo.

Le classi diverse della destinazione comando controllano le proprie mappe messaggi in momenti diversi. In genere, la classe ha il comando ad alcuni altri oggetti attribuirgli la prima probabilità al comando. Se nessuno di questi oggetti gestisce il comando, la classe originale controlla la propria mappa messaggi. Quindi, se non può fornire un gestore stesso, può utilizzare il comando a ancora più destinazioni comando. La tabella Route standard di comando di seguito viene illustrato come ciascuna classe struttura questa sequenza. L'ordine generale in cui una destinazione comando è destinata a un comando è:

  1. Al relativo attualmente oggetto figlio attivo di destinazione comando.

  2. A se stessa.

  3. Altre destinazioni comando.

Quanto è dispendioso questo meccanismo di routing? Rispetto a cui il gestore in risposta a un comando, il costo di routing è basso. Si consideri che il framework genera i controlli solo quando l'utente interagisce con un oggetto dell'interfaccia utente.

Route standard di comando

Quando un oggetto di questo tipo riceve un comando. . .

Si fornisce e l'altra destinazione comando dalla possibilità di gestire il comando nel seguente ordine:

Finestra cornice MDI (CMDIFrameWnd)

  1. CMDIChildWndattivo

  2. Questa finestra cornice

  3. Applicazione (oggetto diCWinApp )

Finestra cornice di documento (CFrameWnd, CMDIChildWnd)

  1. Visualizzazione attiva

  2. Questa finestra cornice

  3. Applicazione (oggetto diCWinApp )

Visualizzazione

  1. Questa visualizzazione

  2. Documento associato alla visualizzazione

Documento

  1. Documento corrente

  2. Modello di documento associato al documento

Finestra di dialogo

  1. Questa finestra di dialogo

  2. Finestra proprietaria della finestra di dialogo

  3. Applicazione (oggetto diCWinApp )

Dove numerato le voci nella seconda colonna della menzione precedente della tabella altri oggetti, ad esempio un documento, vedere l'elemento corrispondente nella prima colonna. Ad esempio, quando letto nella seconda colonna della visualizzazione senza un comando al documento, vedere la voce "del documento" nella prima colonna per utilizzare il routing ulteriormente.

Vedere anche

Concetti

Chiamata di un gestore dal framework