Partager via


IUIApplication::OnCreateUICommand, méthode (uiribbon.h)

Appelé pour chaque commande spécifiée dans le balisage de l’infrastructure du ruban Windows pour lier la commande à un gestionnaire IUICommandHandler.

Syntaxe

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

Paramètres

[in] commandId

Type : UINT32

ID de la commande, qui est spécifié dans le fichier de ressources de balisage.

[in] typeID

Type : UI_COMMANDTYPE

Type de commande associé à un contrôle spécifique.

[out] commandHandler

Type : IUICommandHandler**

Lorsque cette méthode est retournée, contient l’adresse d’un pointeur vers un objet IUICommandHandler . Cet objet est un gestionnaire de commandes d’application hôte lié à une ou plusieurs commandes.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette notification de rappel est envoyée par l’infrastructure du ruban à l’application hôte pour chaque déclaration de commande rencontrée lors du traitement du fichier de ressources de balisage.

Pour chaque commande spécifiée dans le balisage du ruban, l’infrastructure du ruban nécessite un gestionnaire de commandes dans l’application hôte. Un gestionnaire nouveau ou existant doit être affecté à chaque commande.

Exemples

L’exemple suivant illustre une implémentation de base de la méthode 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;
}

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête uiribbon.h
DLL Mshtml.dll

Voir aussi

IUIApplication

Exemples d’infrastructure du ruban Windows