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 |