次の方法で共有


COleServerDoc::OnExecOleCmd

フレームワークは、コマンドの指定されたコマンドまたはヘルプの表示を実行するには、この関数を呼び出します。

virtual HRESULT OnExecOleCmd( 
   const GUID* pguidCmdGroup, 
   DWORD nCmdID, 
   DWORD nCmdExecOpt, 
   VARIANTARG* pvarargIn, 
   VARIANTARG* pvarargOut 
);

パラメーター

  • pguidCmdGroup
    コマンドのセットを識別する GUID へのポインター。既定のコマンド グループを示す null になります。

  • nCmdID
    実行するコマンド。pguidCmdGroupによって識別されたグループに配置する必要があります。

  • nCmdExecOut
    方法は、コマンド オブジェクトを OLECMDEXECOPT の列挙型の次の値を一つ以上実行する必要があります:

  •    OLECMDEXECOPT_DODEFAULT

  •    OLECMDEXECOPT_PROMPTUSER

  •    OLECMDEXECOPT_DONTPROMPTUSER

  •    OLECMDEXECOPT_SHOWHELP

  • pvarargIn
    コマンドの入力引数を含む VARIANTARG へのポインター。NULL の場合もあります。

  • pvarargOut
    コマンドの出力の戻り値を受け取る VARIANTARG へのポインター。NULL の場合もあります。

戻り値

正常終了した場合はを返します S_OK ; それ以外の場合は、次の 1 種類のエラー コード:

説明

E_UNEXPECTED

予期しないエラーが発生しました

E_FAIL

エラーが発生しました

E_NOTIMPL

MFC 自体はコマンドを変換し、ディスパッチする必要があることを示します

OLECMDERR_E_UNKNOWNGROUP

pguidCmdGroup は非null では、認識されたコマンド グループを指定しません

OLECMDERR_E_NOTSUPPORTED

nCmdID は、グループ pguidCmdGroupの有効なコマンド名を認識できません

OLECMDERR_DISABLED

nCmdID によって識別されるコマンドが無効になり、実行できません

OLECMDERR_NOHELP

nCmdID によって識別されるコマンドのヘルプが効果を求められる呼び出し元は使用できません

OLECMDERR_CANCELED

ユーザーは実行を取り消した

解説

COleCmdUI が DocObject のユーザー インターフェイスのコマンドの他のプロパティを有効にし、更新し、設定に使用できます。コマンドが初期化されると、OnExecOleCmdで実行できます。

フレームワークは、OLE ドキュメントのコマンドを変換し、ディスパッチする前に関数を呼び出します。標準 OLE ドキュメントのコマンドを処理するには、この関数をオーバーライドする必要はありません独自のカスタム コマンドを処理したり、パラメーターまたは戻り値の結果を受け取るコマンドを処理する場合、この関数のオーバーライドを指定する必要があります。

コマンドのほとんどは、引数または戻り値を取ります。コマンドの大部分については呼び出し元は pvarargIn と pvarargOutの nulls を渡すことができます。値を入力すると想定するコマンドに呼び出し元は宣言し、VARIANTARG の変数を初期化し、pvarargIn変数へのポインターを渡すことができます。単一の値が必要なコマンドに対して、引数は VARIANTARG で直接格納され、関数に渡すことができます。複数の引数は、サポートされる型の 1 つを使用して VARIANTARG 内で包まれなければ必要があります ( IDispatchSAFEARRAY など)。

同様に、コマンド引数がを返した場合、呼び出し元は VARIANTARGを宣言し、それを VT_EMPTYに初期化し、pvarargOutのアドレスを渡す必要があります。コマンドが単一の値を返す場合、オブジェクトは pvarargOut値に直接格納できます。複数の出力値は、VARIANTARGのなんらかの方法でパッケージ化された適切である必要があります。

この関数の基本クラスの実装は OLE_COMMAND_MAP 構造体の適切なハンドラーにコマンドをディスパッチするためのコマンド ターゲット、およびとに関連付けられた説明します。基本クラスの実装は、引数または戻り値を許可しないコマンドだけを使用します。引数または戻り値を受け取るコマンドを処理する必要がある場合は、独自 pvarargIn と pvarargOut のパラメーターをこの関数および使用をオーバーライドする必要があります。

必要条件

ヘッダー : afxole.h

参照

関連項目

COleServerDoc クラス

階層図

COleCmdUI クラス