次の方法で共有


IOleInPlaceActiveObject::TranslateAccelerator メソッド (oleidl.h)

コンテナーのメッセージ キューからのメニュー アクセラレータ キー メッセージを処理します。 このメソッドは、DLL オブジェクト アプリケーションによって作成されたオブジェクトにのみ使用する必要があります。

構文

HRESULT TranslateAccelerator(
  [in] LPMSG lpmsg
);

パラメーター

[in] lpmsg

変換が必要になる可能性があるメッセージの MSG 構造体へのポインター。

戻り値

このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。

リターン コード 説明
S_FALSE
メッセージは翻訳されませんでした。
E_INVALIDARG
指定されたパラメーター値が無効です。
E_OUTOFMEMORY
I操作に使用できるメモリが不足しています。
E_UNEXPECTED
予期しないエラーが発生しました。

注釈

呼び出し元へのメモ

アクティブなインプレース オブジェクトには、常にアクセラレータのキーストロークを変換する最初の機会が与えられる必要があります。 この機会を提供するには、他の翻訳を行う前に、コンテナーのメッセージ ループから IOleInPlaceActiveObject::TranslateAccelerator を呼び出します。 このメソッドがS_FALSEを返す場合にのみ、独自の翻訳を適用する必要があります。

DLL オブジェクト アプリケーションによって作成されていないオブジェクトに対して IOleInPlaceActiveObject::TranslateAccelerator を呼び出すと、既定のオブジェクト ハンドラーはS_FALSEを返します。

実装者へのメモ

EXE オブジェクト アプリケーションによって作成されたオブジェクトは、独自のメッセージ ポンプからキーストロークを取得するため、コンテナーはこれらのメッセージを取得しません。

このメソッドを実装する必要がある場合は、 TranslateAccelerator 関数の呼び出しをラップするだけで実装できます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー oleidl.h

こちらもご覧ください

IOleInPlaceActiveObject

OleTranslateAccelerator

TranslateAccelerator