http://msdn.microsoft.com/zh-cn/library/ms691264(en-us,VS.85).aspx
The OLECMDID enumeration specifies which command to execute. (The commands in this enumeration are the standard commands defined by Office 95.) A single value from this enumeration is passed in the nCmdID argument of IOleCommandTarget::Exec.
typedef enum { OLECMDID_OPEN = 1, OLECMDID_NEW = 2, OLECMDID_SAVE = 3, OLECMDID_SAVEAS = 4, OLECMDID_SAVECOPYAS = 5, OLECMDID_PRINT = 6, OLECMDID_PRINTPREVIEW = 7, OLECMDID_PAGESETUP = 8, OLECMDID_SPELL = 9, OLECMDID_PROPERTIES = 10, OLECMDID_CUT = 11, OLECMDID_COPY = 12, OLECMDID_PASTE = 13, OLECMDID_PASTESPECIAL = 14, OLECMDID_UNDO = 15, OLECMDID_REDO = 16, OLECMDID_SELECTALL = 17, OLECMDID_CLEARSELECTION = 18, OLECMDID_ZOOM = 19, OLECMDID_GETZOOMRANGE = 20, OLECMDID_UPDATECOMMANDS = 21, OLECMDID_REFRESH = 22, OLECMDID_STOP = 23, OLECMDID_HIDETOOLBARS = 24, OLECMDID_SETPROGRESSMAX = 25, OLECMDID_SETPROGRESSPOS = 26, OLECMDID_SETPROGRESSTEXT = 27, OLECMDID_SETTITLE = 28, OLECMDID_SETDOWNLOADSTATE = 29, OLECMDID_STOPDOWNLOAD = 30, OLECMDID_ONTOOLBARACTIVATED = 31, OLECMDID_FIND = 32, OLECMDID_DELETE = 33, OLECMDID_HTTPEQUIV = 34, OLECMDID_HTTPEQUIV_DONE = 35, OLECMDID_ENABLE_INTERACTION = 36, OLECMDID_ONUNLOAD = 37, OLECMDID_PROPERTYBAG2 = 38, OLECMDID_PREREFRESH = 39, OLECMDID_SHOWSCRIPTERROR = 40, OLECMDID_SHOWMESSAGE = 41, OLECMDID_SHOWFIND = 42, OLECMDID_SHOWPAGESETUP = 43, OLECMDID_SHOWPRINT = 44, OLECMDID_CLOSE = 45, OLECMDID_ALLOWUILESSSAVEAS = 46, OLECMDID_DONTDOWNLOADCSS = 47, OLECMDID_UPDATEPAGESTATUS = 48, OLECMDID_PRINT2 = 49, OLECMDID_PRINTPREVIEW2 = 50, OLECMDID_SETPRINTTEMPLATE = 51, OLECMDID_GETPRINTTEMPLATE = 52, OLECMDID_PAGEACTIONBLOCKED = 55, OLECMDID_PAGEACTIONUIQUERY = 56, OLECMDID_FOCUSVIEWCONTROLS = 57, OLECMDID_FOCUSVIEWCONTROLSQUERY = 58, OLECMDID_SHOWPAGEACTIONMENU = 59, OLECMDID_ADDTRAVELENTRY = 60, OLECMDID_UPDATETRAVELENTRY = 61, OLECMDID_UPDATEBACKFORWARDSTATE = 62, OLECMDID_OPTICAL_ZOOM = 63, OLECMDID_OPTICAL_GETZOOMRANGE = 64, OLECMDID_WINDOWSTATECHANGED = 65, OLECMDID_ACTIVEXINSTALLSCOPE = 66 } OLECMDID;

-
OLECMDID_OPEN
- File menu, Open command
-
OLECMDID_NEW
- File menu, New command
-
OLECMDID_SAVE
- File menu, Save command
-
OLECMDID_SAVEAS
- File menu, Save As command
-
OLECMDID_SAVECOPYAS
- File menu, Save Copy As command
-
OLECMDID_PRINT
- File menu, Print command
-
OLECMDID_PRINTPREVIEW
- File menu, Print Preview command
-
OLECMDID_PAGESETUP
- File menu, Page Setup command
-
OLECMDID_SPELL
- Tools menu, Spelling command
-
OLECMDID_PROPERTIES
- File menu, Properties command
-
OLECMDID_CUT
- Edit menu, Cut command
-
OLECMDID_COPY
- Edit menu, Copy command
-
OLECMDID_PASTE
- Edit menu, Paste command
-
OLECMDID_PASTESPECIAL
- Edit menu, Paste Special command
-
OLECMDID_UNDO
- Edit menu, Undo command
-
OLECMDID_REDO
- Edit menu, Redo command
-
OLECMDID_SELECTALL
- Edit menu, Select All command
-
OLECMDID_CLEARSELECTION
- Edit menu, Clear command
-
OLECMDID_ZOOM
- View menu, Zoom command (see below for details)
-
OLECMDID_GETZOOMRANGE
- Retrieves zoom range applicable to View Zoom. (See below for details.)
-
OLECMDID_UPDATECOMMANDS
- Informs the receiver, usually a frame, of state changes. The receiver can then query the status of the commands whenever convenient.
-
OLECMDID_REFRESH
- Asks the receiver to refresh its display. Implemented by the document/object.
-
OLECMDID_STOP
- Stops all current processing. Implemented by the document/object.
-
OLECMDID_HIDETOOLBARS
- View Menu, Toolbars command. Implemented by the document/object to hide its toolbars.
-
OLECMDID_SETPROGRESSMAX
- Sets the maximum value of a progress indicator if one is owned by the receiving object, usually a frame. The minimum value is always zero.
-
OLECMDID_SETPROGRESSPOS
- Sets the current value of a progress indicator if one is owned by the receiving object, usually a frame.
-
OLECMDID_SETPROGRESSTEXT
- Sets the text contained in a progress indicator if one is owned by the receiving object, usually a frame. If the receiver currently has no progress indicator, this text should be displayed in the status bar (if one exists) as with IOleInPlaceFrame::SetStatusText.
-
OLECMDID_SETTITLE
- Sets the title bar text of the receiving object, usually a frame.
-
OLECMDID_SETDOWNLOADSTATE
- Called by the object when downloading state changes. Takes a VT_BOOL parameter, which is TRUE if the object is downloading data and FALSE if it not. Primarily implemented by the frame.
-
OLECMDID_STOPDOWNLOAD
- Stops the download when executed. Typically, this command is propagated to all contained objects. When queried, sets MSOCMDF_ENABLED. Implemented by the document/object.
-
OLECMDID_FIND
- Edit menu, Find command
-
OLECMDID_DELETE
- Edit menu, Delete command
-
OLECMDID_PRINT2
- File menu, updated Print command
-
OLECMDID_PRINTPREVIEW2
- File menu, updated Print Preview command
-
OLECMDID_PAGEACTIONBLOCKED
- Indicates that a page action has been blocked. PAGEACTIONBLOCKED is designed for use with applications that host the Internet Explorer WebBrowser control to implement their own UI.
-
OLECMDID_PAGEACTIONUIQUERY
- Specifies which actions are displayed in the Internet Explorer notification band.
-
OLECMDID_FOCUSVIEWCONTROLSQUERY
- This notification event is provided for applications that display Internet Explorers default notification band implementation. By default, when the user presses the ALT-N key combination, Internet Explorer treats it as a request to focus the notification band.
-
OLECMDID_FOCUSVIEWCONTROLS
- Causes the Internet Explorer WebBrowser control to focus its default notification band. Hosts can send this command at any time. The return value is S_OK if the band is present and is in focus, or S_FALSE otherwise.
-
OLECMDID_SHOWPAGEACTIONMENU
- Causes the Internet Explorer WebBrowser control to show the Information Bar menu.
-
OLECMDID_ADDTRAVELENTRY
- Causes the Internet Explorer WebBrowser control to create an entry at the current Travel Log offset. The Docobject should implement ITravelLogClient and IPersist interfaces, which are used by the Travel Log as it processes this command with calls to GetWindowData and GetPersistID, respectively.
-
OLECMDID_UPDATETRAVELENTRY
- Called when LoadHistory is processed to update the previous Docobject state. For synchronous handling, this command can be called before returning from the LoadHistory call. For asynchronous handling, it can be called later.
-
OLECMDID_UPDATEBACKFORWARDSTATE
- Updates the state of the browser's Back and Forward buttons.
-
OLECMDID_OPTICAL_ZOOM
- Windows Internet Explorer 7 and later. Sets the zoom factor of the browser. Takes a VT_I4 parameter in the range of 10 to 1000 (percent).
-
OLECMDID_OPTICAL_GETZOOMRANGE
- Windows Internet Explorer 7 and later. Retrieves the minimum and maximum browser zoom factor limits. Returns a VT_I4 parameter; the LOWORD is the minimum zoom factor, the HIWORD is the maximum.
-
OLECMDID_WINDOWSTATECHANGED
- Windows Internet Explorer 7 and later. Notifies the Internet Explorer WebBrowser control of changes in window states, such as losing focus, or becoming hidden or minimized. The host indicates what has changed by setting OLECMDID_WINDOWSTATE_FLAG option flags in nCmdExecOpt.
-
OLECMDID_ACTIVEXINSTALLSCOPE
- Windows Internet Explorer 8 with Windows Vista. Has no effect with Windows Internet Explorer 8 with Windows XP. Notifies Trident to use the indicated Install Scope to install the ActiveX Control specified by the indicated Class ID. For more information, see the Remarks section.

In OLE Compound Documents technology, an object that is being edited in-place disables the Zoom control on its toolbar and the Zoom command on its View menu, because, the Zoom command applies logically to the container document, not to the object. The OLECMDID_ZOOM and OLECMDID_GETZOOMRANGE commands notify the container's frame object of the zoom range it should use to display a document object in its user interface. The container frame is the client-side object that implements IOleInPlaceFrame and, optionally, IOleCommandTarget.
The OLECMDID_ZOOM command takes one LONG argument as input and writes one LONG argument on output. This command is used for three purposes:
- To query the current zoom value. The caller of IOleCommandTarget::Exec passes OLECMDEXECOPT_DONTPROMPTUSER as the execute option in nCmdExecOpt and NULL for pvIn. The object returns the current zoom value in pvaOut. When the object goes UI active, it retrieves the current zoom value from the container's frame object using this same mechanism and updates its zoom control with the returned value.
- To display the Zoom dialog box. The caller of IOleCommandTarget::Exec passes OLECMDEXECOPT_PROMPTUSER in nCmdExecOpt. The caller can optionally pass the initial value for the dialog box through pvaIn; otherwise pvaIn must be NULL. If the user clicks Cancel, the object returns OLECMDERR_E_CANCELED. If the user clicks OK, the object passes the user-selected value in pvaOut. When user chooses the Zoom command from the View menu, the object calls the container's frame object in the same manner. The container then zooms the document to the user selected value, and the object updates its Zoom control with that value.
- To set a Zoom value. The caller of IOleCommandTarget::Exec passes OLECMDEXECOPT_DONTPROMPTUSER in nCmdExecOpt and passes the zoom value to apply through pvaIn. The object validates and normalizes the new value and returns the validated value in pvaOut. When the user selects a new zoom value (using the Zoom control on the toolbar, for instance), the object calls the container's frame object in this manner. The container zooms the document to 100 percent, and the object updates the Zoom control with that value.
The OLECMDID_GETZOOMRANGE command is used to determine the range of valid zoom values from an object that implements IOleCommandTarget. The caller passes MSOCMDEXECOPT_DONTPROMPTUSER in nCmdExecOpt and NULL for pvaIn. The object returns its zoom range as a DWORD in pvaOut where the HIWORD contains the maximum zoom value and the LOWORD contains the minimum zoom value. Typically this command is used when the user drops down the Zoom control on the toolbar of the UI-active object. The applications and objects that support this command are required to support all the integral zoom values that are within the (min,max) pair they return.
The OLECMDID_ACTIVEXINSTALLSCOPE command notifies Trident to use the indicated Install Scope to install the ActiveX Control specified by the indicated Class ID. The Install Scope is passed in a VT_ARRAY in pvaIn of the IOleCommandTarget::Exec method whose elements are:
Data | VARIANT Type | Index |
Class ID | VT_BSTR | 0 |
Install Scope | VT_UI4 | 1 |
The Install Scope must be one of the following values:
Value | Description |
INSTALL_SCOPE_USER | The ActiveX control should register to HKCU and for the instant user only. |
INSTALL_SCOPE_MACHINE | The ActiveX control should register to HKLM and across the machine |
The following is an example use of the OLECMDID_ACTIVEXINSTALLSCOPE command:
IOleCommandTarget::Exec( NULL, // Pointer to command group OLECMDARGINDEX_ACTIVEXINSTALL_INSTALLSCOPE, // ID of command to execute NULL, // Options &varArgs, // pvain pointer to input arguments NULL) // pointer to command output

For an explanation of the requirement values, see Requirements (COM).
Windows NT/2000/XP: Requires Windows 2000 or later.
Windows 95/98: Unsupported.
Header: Declared in docobj.h.