COleCmdUI Class

Implements a method for MFC to update the state of user-interface objects related to the IOleCommandTarget-driven features of your application.


class COleCmdUI : public CCmdUI


Public Constructors

Name Description
COleCmdUI::COleCmdUI Constructs a COleCmdUI object.

Public Methods

Name Description
COleCmdUI::Enable Sets or clears the enable command flag.
COleCmdUI::SetCheck Sets the state of an on/off toggle command.
COleCmdUI::SetText Returns a text name or status string for a command.


In an application that is not enabled for DocObjects, when the user views a menu in the application, MFC processes UPDATE_COMMAND_UI notifcations. Each notification is given a CCmdUI object that can be manipulated to reflect the state of a particular command. However, when your application is enabled for DocObjects, MFC processes UPDATE_OLE_COMMAND_UI notifications and assigns COleCmdUI objects.

COleCmdUI allows a DocObject to receive commands that originate in its container's user interface (such as FileNew, Open, Print, and so on), and allows a container to receive commands that originate in the DocObject's user interface. Although IDispatch could be used to dispatch the same commands, IOleCommandTarget provides a simpler way to query and execute because it relies on a standard set of commands, usually without arguments, and no type information is involved. COleCmdUI can be used to enable, update, and set other properties of DocObject user interface commands. When you want to invoke the command, call COleServerDoc::OnExecOleCmd.

For further information on DocObjects, see CDocObjectServer and CDocObjectServerItem.

Inheritance Hierarchy




Header: afxdocobj.h


Constructs a COleCmdUI object associated with a particular user-interface command.

    OLECMD* rgCmds,
    ULONG cCmds,
    const GUID* m_pGroup);


A list of supported commands associated with the given GUID. The OLECMD structure associates commands with command flags.

The count of commands in rgCmds.

A pointer to a GUID that identifies a set of commands.


The COleCmdUI object provides a programmatic interface for updating DocObject user-interface objects such as menu items or control-bar buttons. The user-interface objects can be enabled, disabled, checked, and/or cleared through the COleCmdUI object.


Call this function to set the command flag of the COleCmdUI object to OLECOMDF_ENABLED, which tells the interface the command is available and enabled, or to clear the command flag.

virtual void Enable(BOOL bOn);


Indicates whether the command associated with the COleCmdUI object should be enabled or disabled. Nonzero enables the command; 0 disables the command.


Call this function to set the state of an on/off toggle command.

virtual void SetCheck(int nCheck);


A value determining the state to set an on/off toggle command. Values are:

Value Description
1 Sets the command to on.
2 Sets the command to indeterminate; the state cannot be determined because the attribute of this command is in both on and off states in the relevant selection.
any other value Sets the command to off.


Call this function to return a text name or status string for a command.

virtual void SetText(LPCTSTR lpszText);


A pointer to the text to be used with the command.

See also

CCmdUI Class
Hierarchy Chart