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