ON_OLECMD
コマンド ディスパッチ インターフェイスの IOleCommandTarget を通して、コマンドを送信します。
ON_OLECMD(pguid, olecmdid, id )
パラメーター
pguid
コマンドが所属しているコマンド グループの ID。 標準グループの場合、NULL を指定します。olecmdid
OLE コマンドの ID。id
コマンドを発行したリソースまたはオブジェクトのメニュー ID、ツール バー ID、ボタン ID、またはその他の ID。
解説
IOleCommandTarget によって、コンテナーは DocObject のユーザー インターフェイスで発行されたコマンドを受け取ることができます。同様にコンテナーがコマンド ([ファイル] メニューの [新規作成]、[開く]、名前を付けて保存]、および [印刷]、[編集] メニューの [コピー]、[貼り付け]、[元に戻す] 等) を DocObject に送ることができます。
IOleCommandTarget は、OLE オートメーションの IDispatch よりも単純です。 IOleCommandTarget は、引数を持つことがほとんどない標準的なコマンド セットに依存し、型情報も不要です。このため、コマンド引数のタイプ セーフ性も低下しています。 引数を持つコマンドをディスパッチする必要がある場合、COleServerDoc::OnExecOleCmd を使用してください。
IOleCommandTarget 標準メニュー コマンドは、MFC によって次のマクロに実装されています。
ON_OLECMD_CLEARSELECTION( )
[編集] メニューの [クリア] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_CLEARSELECTION, ID_EDIT_CLEAR)
ON_OLECMD_COPY( )
[編集] メニューの [コピー] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_COPY, ID_EDIT_COPY)
ON_OLECMD_CUT( )
[編集] メニューの [切り取り] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_CUT, ID_EDIT_CUT)
ON_OLECMD_NEW( )
[ファイル] メニューの [新規作成] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_NEW, ID_FILE_NEW)
ON_OLECMD_OPEN( )
[ファイル] メニューの [開く] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_OPEN, ID_FILE_OPEN)
ON_OLECMD_PAGESETUP( )
[ファイル] メニューの [ページ設定] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_PAGESETUP, ID_FILE_PAGE_SETUP)
ON_OLECMD_PASTE( )
[編集] メニューの [貼り付け] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_PASTE, ID_EDIT_PASTE)
ON_OLECMD_PASTESPECIAL( )
[編集] メニューの [形式を選択して貼り付け] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_PASTESPECIAL, ID_EDIT_PASTE_SPECIAL)
ON_OLECMD_PRINT( )
[ファイル] メニューの [印刷] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_PRINT, ID_FILE_PRINT)
ON_OLECMD_PRINTPREVIEW( )
[ファイル] メニューの [印刷プレビュー] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_PRINTPREVIEW, ID_FILE_PRINT_PREVIEW)
ON_OLECMD_REDO( )
[編集] メニューの [やり直し] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_REDO, ID_EDIT_REDO)
ON_OLECMD_SAVE( )
[ファイル] メニューの [上書き保存] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_SAVE, ID_FILE_SAVE)
ON_OLECMD_SAVE_AS( )
[ファイル] メニューの [名前を付けて保存] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_SAVEAS, ID_FILE_SAVE_AS)
ON_OLECMD_SAVE_COPY_AS( )
[ファイル] メニューの [複製保存] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_SAVECOPYAS, ID_FILE_SAVE_COPY_AS)
ON_OLECMD_SELECTALL( )
[編集] メニューの [すべて選択] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_SELECTALL, ID_EDIT_SELECT_ALL)
ON_OLECMD_UNDO( )
[編集] メニューの [元に戻す] をディスパッチします。 次のように実装されています。
ON_OLECMD(NULL, OLECMDID_UNDO, ID_EDIT_UNDO)
必要条件
**ヘッダー:**afxdocob.h