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 |