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 |