Freigeben über


IUIApplication::OnCreateUICommand-Methode (uiribbon.h)

Wird für jeden Befehl aufgerufen, der im Framework-Markup des Windows-Menübands angegeben ist, um den Befehl an einen IUICommandHandler zu binden.

Syntax

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

Parameter

[in] commandId

Typ: UINT32

Die ID für den Befehl, der in der Markupressourcendatei angegeben ist.

[in] typeID

Typ: UI_COMMANDTYPE

Der Befehlstyp , der einem bestimmten Steuerelement zugeordnet ist.

[out] commandHandler

Typ: IUICommandHandler**

Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf ein IUICommandHandler-Objekt . Dieses Objekt ist ein Command-Handler der Hostanwendung, der an einen oder mehrere Befehle gebunden ist.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Rückrufbenachrichtigung wird vom Menübandframework für jede Command-Deklaration, die beim Verarbeiten der Markupressourcendatei gefunden wurde, an die Hostanwendung gesendet.

Für jeden Befehl, der im Menübandmarkup angegeben ist, erfordert das Menübandframework einen Command-Handler in der Hostanwendung. Jedem Befehl muss ein neuer oder vorhandener Handler zugewiesen werden.

Beispiele

Das folgende Beispiel veranschaulicht eine grundlegende Implementierung der IUIApplication::OnCreateUICommand-Methode .

//
//  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;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile uiribbon.h
DLL Mshtml.dll

Weitere Informationen

IUIApplication

Windows-Menübandframeworkbeispiele