ON_OLECMD

ON_OLECMD( pguid, olecmdid, id )

参数:
pguid命令岁数的命令组的表示符。对于标准组使用NULL。
olecmdidOLE命令的标识符。
id发出命令的资源或对象的菜单ID,工具条ID,按钮ID或其它ID。

说明:
这个宏通过命令调度接口IOleCommandTarget转发命令。IOleCommandTarget允许容器接收DocObject的用户所产生的命令,同时允许容器将相同的命令(例如File菜单中的New,Open,SaveAs以及Print)发送给DocObject。
IOleCommandTarget比OLE自动化的IDispatch要简单。IOleCommandTarget完全依赖于一个标准命令集,它们很少带参数,也不涉及类型信息(因而命令参数的类型安全特性也减小了)。如果你不需要调度带参数的命令,使用COleServerDoc::OnExecOleCmd。
IOleCommandTarget的标准菜单命令已经由MFC用下列宏实现了:
ON_OLECMD_CLEARSELECTION( )
发出Edit Clear命令,实现如下:
ON_OLECMD(NULL, OLECMDID_CLEARSELECTION, ID_EDIT_CLEAR)

ON_OLECMD_COPY( )
发出Edit Copy命令,实现如下:
ON_OLECMD(NULL, OLECMDID_COPY, ID_EDIT_COPY)

ON_OLECMD_CUT( )
发出Edit Cut命令,实现如下:
ON_OLECMD(NULL, OLECMDID_CUT, ID_EDIT_CUT)

ON_OLECMD_NEW( )
发出File New命令,实现如下:
ON_OLECMD(NULL, OLECMDID_NEW, ID_FILE_NEW)

ON_OLECMD_OPEN( )
发出File Open命令,实现如下:
ON_OLECMD(NULL, OLECMDID_OPEN, ID_FILE_OPEN)

ON_OLECMD_PAGESETUP( )
发出File Page Setup命令,实现如下:
ON_OLECMD(NULL, OLECMDID_PAGESETUP, ID_FILE_PAGE_SETUP)

ON_OLECMD_PASTE( )
发出Edit Paste命令,实现如下:
ON_OLECMD(NULL, OLECMDID_PASTE, ID_EDIT_PASTE)

ON_OLECMD_PASTESPECIAL( )
发出Edit Paste Special命令,实现如下:
ON_OLECMD(NULL, OLECMDID_PASTESPECIAL, ID_EDIT_PASTE_SPECIAL)

ON_OLECMD_PRINT( )
发出File Print命令,实现如下:
ON_OLECMD(NULL, OLECMDID_PRINT, ID_FILE_PRINT)

ON_OLECMD_PRINTPREVIEW( )
发出File Print Preview命令,实现如下:
ON_OLECMD(NULL, OLECMDID_PRINTPREVIEW, ID_FILE_PRINT_PREVIEW)

ON_OLECMD_REDO( )
发出Edit Redo命令,实现如下:
ON_OLECMD(NULL, OLECMDID_REDO, ID_EDIT_REDO)

ON_OLECMD_SAVE( )
发出File Save命令,实现如下:ON_OLECMD(NULL, OLECMDID_SAVE, ID_FILE_SAVE)

ON_OLECMD_SAVE_AS( )
发出File Save As命令,实现如下:
ON_OLECMD(NULL, OLECMDID_SAVEAS, ID_FILE_SAVE_AS)

ON_OLECMD_SAVE_COPY_AS( )
发出File Save Copy As命令,实现如下:
ON_OLECMD(NULL, OLECMDID_SAVECOPYAS, ID_FILE_SAVE_COPY_AS)

ON_OLECMD_SELECTALL( )
发出Edit Select All命令,实现如下:
ON_OLECMD(NULL, OLECMDID_SELECTALL, ID_EDIT_SELECT_ALL)

ON_OLECMD_UNDO( )
发出Edit Undo命令,实现如下:
ON_OLECMD(NULL, OLECMDID_UNDO, ID_EDIT_UNDO)

请参阅:COleCmdUI, COleServerDoc::OnExecOleCmd