다음을 통해 공유


IUIApplication::OnCreateUICommand 메서드(uiribbon.h)

IUICommandHandler에 명령을 바인딩하기 위해 Windows 리본 프레임워크 태그에 지정된 각 명령에 대해 호출됩니다.

구문

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

매개 변수

[in] commandId

형식: UINT32

태그 리소스 파일에 지정된 명령의 ID입니다.

[in] typeID

형식: UI_COMMANDTYPE

특정 컨트롤과 연결된 명령 형식 입니다.

[out] commandHandler

형식: IUICommandHandler**

이 메서드가 반환되면 에는 IUICommandHandler 개체에 대한 포인터의 주소가 포함됩니다. 이 개체는 하나 이상의 명령에 바인딩된 호스트 애플리케이션 Command 처리기입니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

이 콜백 알림은 태그 리소스 파일을 처리하는 동안 발생한 각 명령 선언에 대해 리본 프레임워크에서 호스트 애플리케이션으로 전송됩니다.

리본 태그에 지정된 각 명령에 대해 리본 프레임워크에는 호스트 애플리케이션의 명령 처리기가 필요합니다. 새 처리기 또는 기존 처리기를 각 명령에 할당해야 합니다.

예제

다음 예제에서는 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;
}

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 uiribbon.h
DLL Mshtml.dll

추가 정보

IUIApplication

Windows 리본 프레임워크 샘플