次の方法で共有


IUIApplication::OnCreateUICommand メソッド (uiribbon.h)

Windows リボン フレームワーク マークアップで指定された各コマンドに対して呼び出され、コマンドを IUICommandHandler にバインドします。

構文

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

パラメーター

[in] commandId

型: UINT32

マークアップ リソース ファイルで指定される Command の ID。

[in] typeID

種類: UI_COMMANDTYPE

特定のコントロールに関連付けられている コマンドの種類

[out] commandHandler

種類: IUICommandHandler**

このメソッドから制御が戻るときに、 IUICommandHandler オブジェクトへのポインターのアドレスが格納されます。 このオブジェクトは、1 つ以上の Commands にバインドされたホスト アプリケーションの 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 リボン フレームワークのサンプル