ON_OLECMD
ON_OLECMD( pguid, olecmdid, id )
参数:
pguid
命令岁数的命令组的表示符。对于标准组使用NULL。
olecmdid
OLE命令的标识符。
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