Метод IUIApplication::OnCreateUICommand (uiribbon.h)
Вызывается для каждой команды, указанной в разметке платформы ленты Windows, для привязки команды к IUICommandHandler.
Синтаксис
HRESULT OnCreateUICommand(
[in] UINT32 commandId,
[in] UI_COMMANDTYPE typeID,
[out] IUICommandHandler **commandHandler
);
Параметры
[in] commandId
Тип: UINT32
Идентификатор команды, указанный в файле ресурсов разметки.
[in] typeID
Тип: UI_COMMANDTYPE
Тип команды, связанный с определенным элементом управления.
[out] commandHandler
Тип: IUICommandHandler**
При возврате этим методом содержит адрес указателя на объект IUICommandHandler . Этот объект является обработчиком команд ведущего приложения, привязанным к одной или нескольким командам.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Это уведомление обратного вызова отправляется платформой ленты в ведущему приложению для каждого объявления command, обнаруженного при обработке файла ресурсов разметки.
Для каждой команды, указанной в разметке ленты, платформа ленты требует обработчика команд в ведущем приложении. Каждой команде необходимо назначить новый или существующий обработчик.
Примеры
В следующем примере демонстрируется базовая реализация метода 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 |
Header | uiribbon.h |
DLL | Mshtml.dll |