Condividi tramite


Metodo IUIApplication::OnCreateUICommand (uiribbon.h)

Chiamato per ogni comando specificato nel markup del framework della barra multifunzione di Windows per associare il comando a un IUICommandHandler.

Sintassi

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

Parametri

[in] commandId

Tipo: UINT32

ID per il comando, specificato nel file di risorse di markup.

[in] typeID

Tipo: UI_COMMANDTYPE

Tipo di comando associato a un controllo specifico.

[out] commandHandler

Tipo: IUICommandHandler**

Quando termina, questo metodo contiene l'indirizzo di un puntatore a un oggetto IUICommandHandler . Questo oggetto è un gestore command dell'applicazione host associato a uno o più comandi.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa notifica di callback viene inviata dal framework della barra multifunzione all'applicazione host per ogni dichiarazione di comando rilevata durante l'elaborazione del file di risorse di markup.

Per ogni comando specificato nel markup della barra multifunzione, il framework della barra multifunzione richiede un gestore di comandi nell'applicazione host. A ogni comando deve essere assegnato un gestore nuovo o esistente.

Esempio

Nell'esempio seguente viene illustrata un'implementazione di base del metodo 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;
}

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione uiribbon.h
DLL Mshtml.dll

Vedi anche

IUIApplication

Esempi di Windows Ribbon Framework