IUIApplication::OnCreateUICommand 方法 (uiribbon.h)

为 Windows 功能区框架标记中指定的每个命令调用,以将命令绑定到 IUICommandHandler

语法

HRESULT OnCreateUICommand(
  [in]  UINT32            commandId,
  [in]  UI_COMMANDTYPE    typeID,
  [out] IUICommandHandler **commandHandler
);

参数

[in] commandId

类型: UINT32

命令的 ID,在标记资源文件中指定。

[in] typeID

类型: UI_COMMANDTYPE

与特定控件关联的 命令类型

[out] commandHandler

类型: IUICommandHandler**

此方法返回时,包含指向 IUICommandHandler 对象的指针的地址。 此对象是绑定到一个或多个命令的主机应用程序命令处理程序。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

对于处理标记资源文件时遇到的每个命令声明,功能区框架会将此回调通知发送到主机应用程序。

对于功能区标记中指定的每个命令,功能区框架都需要主机应用程序中的命令处理程序。 必须将新的或现有的处理程序分配给每个命令。

示例

以下示例演示 IUIApplication::OnCreateUICommand 方法的基本实现。

//
//  FUNCTION: OnCreateUICommand(UINT, UI_COMMANDTYPE, IUICommandHandler)
//
//  PURPOSE: Called by the Ribbon framework for each command specified in markup to allow
//           the host application to bind a command handler to that command.
//
//  PARAMETERS:    
//                nCmdID - The Command identifier. 
//                typeID - The Command type. 
//                ppCommandHandler - Pointer to the address of the Command handler. 
//
//  COMMENTS:
//
//    For this sample, return the same command handler for all commands
//    specified in the .xml file.
//    
//
STDMETHODIMP CApplication::OnCreateUICommand(
    UINT nCmdID,
    UI_COMMANDTYPE typeID,
    IUICommandHandler** ppCommandHandler)
{
    HRESULT hr = E_NOTIMPL;

    switch(typeID)
    {
        case UI_COMMANDTYPE_DECIMAL:
            {
                _cwprintf(L"IUIApplication::OnCreateUICommand called for Spinner.\r\n");
                hr = _spSpinnerSite->QueryInterface(IID_PPV_ARGS(ppCommandHandler));
                break;
            }
        default:
            {
                _cwprintf(L"IUIApplication::OnCreateUICommand called with CmdID=%u, typeID=%u.\r\n", nCmdID, typeID);
                hr = _spCommandHandler->QueryInterface(IID_PPV_ARGS(ppCommandHandler));
            }
    }    
    return hr;
}

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 uiribbon.h
DLL Mshtml.dll

另请参阅

IUIApplication

Windows 功能区框架示例