Aracılığıyla paylaş


CCmdTarget::OnCmdMsg

Route komutu iletileri gönderme ve güncelleştirme komutu kullanıcı arabirimi nesneleri işlemek için çerçevesi tarafından çağrıldı.

virtual BOOL OnCmdMsg(
   UINT nID,
   int nCode,
   void* pExtra,
   AFX_CMDHANDLERINFO* pHandlerInfo 
);

Parametreler

  • nID
    Komut kimliğini içerir.

  • nCode
    Komut bildirim kodunu tanımlar.Bkz: Açıklamalar değerleri hakkında daha fazla bilgi için nCode.

  • pExtra
    Değerine göre kullanılan nCode.Bkz: Açıklamalar hakkında daha fazla bilgi için pExtra.

  • pHandlerInfo
    Aksi takdirde null, OnCmdMsg girer pTarget ve pmf üyeleri pHandlerInfo komutu gönderme yerine yapısı.Tipik olarak, bu parametre olması gereken null.

Dönüş Değeri

İleti işlenmesini, sıfır olmayan; Aksi halde 0.

Notlar

Bu framework komut mimarisinin ana uygulama yordamdır.

Çalışma zamanında OnCmdMsg diğer nesnelere komut gönderir veya kök sınıf çağırarak komut işleme CCmdTarget::OnCmdMsg, hangi gerçek ileti eşleme arama yapar.Varsayılan yönlendirme komutu tam açıklaması için bkz: ileti işleme ve eşleme konuları.

Çok seyrek olarak framework'ün genişletmek için bu üye işlevi geçersiz kılmak isteyebilirsiniz standart komut yönlendirme.Bakın Teknik Not 21 komut yönlendirme mimarisinin İleri düzey Ayrıntılar için.

Varsa, geçersiz kılma OnCmdMsg, uygun değer sağlamalısınız nCode, komut bildirim kodu ve pExtra, bağımlı olduğu değeri temel nCode.Karşılık gelen değerleri aşağıdaki tabloda listelenmektedir:

nCodedeğer

pExtradeğer

CN_COMMAND

CCmdUI*

CN_EVENT

AFX_EVENT *

CN_UPDATE_COMMAND_UI

CCmdUI *

CN_OLECOMMAND

COleCmdUI*

CN_OLE_UNREGISTER

NULL

Örnek

// This example illustrates extending the framework's standard command 
// route from the view to objects managed by the view.  This example
// is from an object-oriented drawing application, similar to the
// DRAWCLI sample application, which draws and edits "shapes".
BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
   // Extend the framework's command route from the view to
   // the application-specific CMyShape that is currently selected
   // in the view. m_pActiveShape is NULL if no shape object
   // is currently selected in the view.
   if ((m_pActiveShape != NULL)
      && m_pActiveShape->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
      return TRUE;

   // If the object(s) in the extended command route don't handle
   // the command, then let the base class OnCmdMsg handle it.
   return CView::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
// The command handler for ID_SHAPE_COLOR (menu command to change
// the color of the currently selected shape) was added to the message
// map of CMyShape (note, not CMyView) using the Properties window.  
// The menu item will be automatically enabled or disabled, depending 
// on whether a CMyShape is currently selected in the view, that is, 
// depending on whether CMyView::m_pActiveView is NULL.  It is not 
// necessary to implement an ON_UPDATE_COMMAND_UI handler to enable 
// or disable the menu item.  
BEGIN_MESSAGE_MAP(CMyShape, CCmdTarget)
   ON_COMMAND(ID_SHAPE_COLOR, &CMyShape::OnShapeColor)
END_MESSAGE_MAP()

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CCmdTarget sınıfı

Hiyerarşi grafik

CCmdUI sınıfı

COleCmdUI sınıfı