wirtualne BOOL OnCmdMsg ( UINT nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo );
Wartość zwracany
Niezerowa, jeśli wiadomość jest obsługiwany; inny sposób 0.
Parametry
nID
Zawiera identyfikator polecenia.
nCode
Identyfikuje kod powiadomienia polecenia.
pExtra
Używane zgodnie z wartością nCode.
pHandlerInfo
Jeśli nie jest NULL, OnCmdMsg wypełnia członków pTarget i pmf struktury pHandlerInfo zamiast wysyłania polecenia. Zazwyczaj ten parametr powinna być zerowa.
Uwagi
Wywoływany przez ram do rozsyłania i wysyłanie wiadomości polecenia i obsługi aktualizacji obiektów poleceń interfejsu użytkownika. Jest to rutynowe realizacji głównego architektury polecenia ram.
W czasie wykonywania, OnCmdMsg wysyła polecenie do innych obiektów lub uchwyty samo polecenie wywołując głównego klasy CCmdTarget::OnCmdMsg, który jest rzeczywistym wiadomości Mapa wyszukiwania. Pełny opis polecenia domyślne marszruty, zobacz obsługi wiadomości i mapowanie tematy w Visual C++ Programmer's Guide.
W rzadkich przypadkach warto zastąpić tę funkcję Państwa rozszerzenie zasad ramowych standardowe polecenia routingu. Odnosi się do technicznych 21 Uwaga na zaawansowane szczegóły architektury routingu polecenia.
Przykład
/ / Ta ilustruje, rozszerzenie zasad ramowych standardowe polecenia / / marszruty z widoku do obiektów zarządzanych przez view.nbsp; W tym przykładzie
/ / z obiektowy rysowania aplikacji, podobny do
/ / DRAWCLI przykładową aplikację, która rysuje i edytuje "kształty".
BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo)
{
/ / Rozszerzenie zasad ramowych polecenie route z myślą o
/ / CMyShape specyficzne dla aplikacji, który jest aktualnie zaznaczony
/ / w widoku. m_pActiveShape ma wartość NULL, jeśli nie obiekt shape
/ / jest aktualnie wybranym w widoku.
Jeżeli ((m_pActiveShape! = NULL)
& & m_pActiveShape - > OnCmdMsg (nID, nCode, pExtra, pHandlerInfo))
Zwraca wartość PRAWDA;
/ / Jeżeli obiekty w marszrucie rozszerzone polecenie nie obsługują
/ / polecenie, następnie niech klasa podstawowa OnCmdMsg obsługuje go.
Zwraca CView::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
}
/ / Obsługi poleceń dla ID_SHAPE_COLOR (polecenie zmiany
/ / kolor zaznaczonego kształtu) został dodany do
/ wiadomości mapę z CMyShape (Uwaga, nie CMyView) przy użyciu ClassWizard.
/ / Element menu zostanie automatycznie włączone lub wyłączone, w zależności od / / na czy CMyShape jest zaznaczony w widoku, / / w zależności od tego, czy CMyView::m_pActiveView ma wartość NULL. Nie jest / / niezbędne w celu wykonania programu obsługi ON_UPDATE_COMMAND_UI, aby umożliwić / / lub wyłączyć element menu.
BEGIN_MESSAGE_MAP (CMyShape, CCmdTarget)
//{{AFX_MSG_MAP(CMyShape)
ON_COMMAND (ID_SHAPE_COLOR, OnShapeColor)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
Omówie&nie CCmdTarget |nbsp; Klasa członków | Wykres hierarchii
Zobacz też CCmdUI