CCmdTarget::OnCmdMsg

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

Index