CCmdTarget::OnCmdMsg

仮想 BOOL OnCmdMsg ( UINT nID, int nCode, void ※ pExtra, AFX_CMDHANDLERINFO ※ pHandlerInfo );

戻り値

メッセージが処理されるそうでなければ 0。

パラメーター

nID

コマンド ID が含まれています。

nCode

コマンド通知コードを識別します。

pExtra

NCodeの値に従って使用。

pHandlerInfo

ていない場合はNULLOnCmdMsgのではなく、コマンドのディスパッチには、 pHandlerInfo構造体のpTargetpmfメンバーで塗りつぶします。通常、このパラメーターをNULLにする必要があります。

解説

ルーティング コマンド メッセージをディスパッチして、コマンド ユーザー インターフェイス オブジェクトの更新を処理するために、フレームワークによって呼び出されます。これは、フレームワークのコマンド アーキテクチャの主な実装ルーチンです。

実行時に、 OnCmdMsgを他のオブジェクトへのディスパッチまたはルート クラスCCmdTarget::OnCmdMsg実際には、呼び出すことによって、コマンド自体の処理メッセージ マップ参照。既定のコマンド ルーティングの詳細についてを参照してください メッセージの処理とマップ」Visual の C++ プログラマのガイド

まれに、フレームワークの拡張には、この関数をオーバーライドすることができます標準のコマンド ルーティングします。テクニカル ノート 21コマンド ルーティング アーキテクチャの詳細を参照してください。

//このフレームワークの標準コマンドの拡張例・ ・ ルートからビューで view.nbsp; 管理オブジェクトをこの例//オブジェクト指向からアプリケーションと同様に描画している、//DRAWCLI サンプル アプリケーションでは、描画し、「図形」を編集します。BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra,AFX_CMDHANDLERINFO* pHandlerInfo){//ビューからフレームワークのコマンド ルートを拡張//は、現在選択されている、アプリケーション固有の CMyShape//ビュー。m_pActiveShape はない図形オブジェクトが NULL です。//ビューで現在選択されています。場合は ((m_pActiveShape! = NULL)& & m_pActiveShape - > OnCmdMsg (nID、nCode、pExtra、pHandlerInfo))TRUE を返す;・拡張コマンドのルートにあるオブジェクトを処理しない場合//、コマンドさせる基本クラス OnCmdMsg それを処理します。CView::OnCmdMsg (nID、nCode、pExtra、pHandlerInfo); を返す}//、コマンド ハンドラーを ID_SHAPE_COLOR (メニュー コマンドを変更するには//は、現在選択されている図形の色) に追加されました・ メッセージ マップ CMyShape (注、CMyView ではない) の ClassWizard を使用して。//メニュー項目が自動的にされます有効または無効、に応じて//かどうかを CMyShape 現在、ビューでは、選択している・ ・ CMyView::m_pActiveView が NULL かどうかに応じて。それではない・ ・を有効にするには、ON_UPDATE_COMMAND_UI ハンドラーを実装するために必要な//またはメニュー項目を無効にします。BEGIN_MESSAGE_MAP (CMyShape、CCmdTarget)//{{AFX_MSG_MAP(CMyShape)ON_COMMAND (ID_SHAPE_COLOR、OnShapeColor)//}}AFX_MSG_MAPEND_MESSAGE_MAP()

CCmdTarget 概要|nbsp;クラス メンバー |階層図(&N)

参照特価;CCmdUI(&N)

Index