CCmdTarget:: OnCmdMsg

Virtual BOOL OnCmdMsg ( UINT nID, int nCode, vuoto * pEvent, AFX_CMDHANDLERINFO * pHandlerInfo );

Valore restituito

Diverso da zero se il messaggio viene gestito; in caso contrario 0.

Parametri

nID

Contiene l'ID di comando.

nCode

Identifica il codice di notifica di comando.

pEvent

Utilizzato secondo il valore di nCode.

pHandlerInfo

Se non NULL, OnCmdMsg riempie i membri pTarget e pmf della struttura pHandlerInfo invece di dispacciamento il comando. In genere, questo parametro deve essere NULL.

Osservazioni

Chiamato dal framework per instradare e spedire messaggi di comando e per gestire l'aggiornamento di oggetti dell'interfaccia utente comando. Questa la routine principale implementazione dell'architettura quadro comando.

In fase di esecuzione OnCmdMsg Invia un comando ad altri oggetti o gestisce il comando stesso chiamando la classe principale CCmdTarget:: OnCmdMsg, che fa l'effettiva ricerca mappa messaggi. Per una descrizione completa di routing comando predefinito, vedere Message Handling e mappatura argomenti nel manuale del programmatore di Visual C++.

In rare occasioni, si consiglia di eseguire l'override di questa funzione membro di estendere il quadro comando standard di routing. Fare riferimento alla tecnica nota 21 per particolari avanzate dell'architettura routing di comandi.

Esempio

/ / Questo esempio viene illustrato che estende il comando standard del framework / / route dalla vista agli oggetti gestiti dalla view.nbsp; In questo esempio
/ / da object-oriented  disegno applicazione, simile alla
/ / DRAWCLI sample application, che attira e l'editing delle "forme".

BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra,
  AFX_CMDHANDLERINFO* pHandlerInfo)
{
  / / Itinerario di comando del framework si estende da al fine di
  / / il CMyShape specifiche dell'applicazione che  attualmente selezionato
  / / nella visualizzazione. m_pActiveShape  NULL se nessun oggetto shape
  / /  correntemente selezionato nella visualizzazione.
  Se ((m_pActiveShape! = NULL)
  & & m_pActiveShape - > OnCmdMsg (nID, pHandlerInfo, nCode, pEvent))
  return TRUE;

/ / Se non gestire gli oggetti nella route comando esteso
  / / il comando, poi lasciare che la classe di base OnCmdMsg gestirlo.
  return CView::OnCmdMsg (nID, nCode, pEvent, pHandlerInfo);
}

/ / Il gestore di comandi per ID_SHAPE_COLOR (comando di menu per modificare
/ / il colore della forma attualmente selezionata)  stato aggiunto al
/ / CMyShape (nota, non CMyView) la mappa il messaggio usando ClassWizard. 

/ / La voce di menu sar automaticamente attivato o disattivato, a seconda delle / / on se un CMyShape  correntemente selezionato nella visualizzazione, cio, / / a seconda che CMyView::m_pActiveView sia NULL. Esso non  / / necessari per implementare un gestore ON_UPDATE_COMMAND_UI per abilitare / / o disabilitare la voce di menu. 

BEGIN_MESSAGE_MAP (CMyShape, CCmdTarget)
  //{{AFX_MSG_MAP(CMyShape)
  ON_COMMAND (ID_SHAPE_COLOR, OnShapeColor)
  //}}AFX_MSG_MAP
END_MESSAGE_MAP()

Pa&noramica CCmdTarget |nbsp; Membri della classe | Gerarchia Chart

Vedere a&nchenbsp;CCmdUI

Index