次の方法で共有


ON_OLECMD

更新 : 2007 年 11 月

コマンド ディスパッチ インターフェイスの 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

参照

概念

MFC マクロとグローバル

参照

COleCmdUI クラス

COleServerDoc::OnExecOleCmd