Compartir a través de


Método IUIApplication::OnCreateUICommand (uiribbon.h)

Se llama a para cada comando especificado en el marcado del marco de la cinta de Opciones de Windows para enlazar el comando a un IUICommandHandler.

Sintaxis

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

Parámetros

[in] commandId

Tipo: UINT32

Identificador del comando, que se especifica en el archivo de recursos de marcado.

[in] typeID

Tipo: UI_COMMANDTYPE

Tipo de comando asociado a un control específico.

[out] commandHandler

Tipo: IUICommandHandler**

Cuando este método devuelve, contiene la dirección de un puntero a un objeto IUICommandHandler . Este objeto es un controlador de comandos de aplicación host enlazado a uno o varios comandos.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

El marco de la cinta envía esta notificación de devolución de llamada a la aplicación host para cada declaración command encontrada al procesar el archivo de recursos de marcado.

Para cada comando especificado en el marcado de la cinta de opciones, el marco de la cinta de opciones requiere un controlador de comandos en la aplicación host. Se debe asignar un controlador nuevo o existente a cada comando.

Ejemplos

En el ejemplo siguiente se muestra una implementación básica del método 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;
}

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado uiribbon.h
Archivo DLL Mshtml.dll

Consulte también

IUIApplication

Ejemplos de Windows Ribbon Framework