IOleInPlaceActiveObjectImpl クラス

このクラスは、インプレース コントロールとそのコンテナー間の通信を支援するメソッドを提供します。

重要

このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。

構文

template<class T>
class IOleInPlaceActiveObjectImpl

パラメーター

T
IOleInPlaceActiveObjectImpl から派生したクラス。

メンバー

パブリック メソッド

名前 説明
IOleInPlaceActiveObjectImpl::ContextSensitiveHelp 状況依存のヘルプが有効になります。 ATL 実装によって E_NOTIMPL が返されます。
IOleInPlaceActiveObjectImpl::EnableModeless モードレス ダイアログ ボックスが有効になります。 ATL 実装では S_OK が返されます。
IOleInPlaceActiveObjectImpl::GetWindow ウィンドウ ハンドルを取得します。
IOleInPlaceActiveObjectImpl::OnDocWindowActivate コンテナーのドキュメント ウィンドウがアクティブ化または非アクティブ化されたときに、コントロールに通知します。 ATL 実装では S_OK が返されます。
IOleInPlaceActiveObjectImpl::OnFrameWindowActivate コンテナーの最上位レベルのフレーム ウィンドウがアクティブ化または非アクティブ化されたときに、コントロールに通知します。 ATL 実装では次が返されます
IOleInPlaceActiveObjectImpl::ResizeBorder 境界線のサイズを変更する必要があることをコントロールに通知します。 ATL 実装では S_OK が返されます。
IOleInPlaceActiveObjectImpl::TranslateAccelerator コンテナーからのメニュー アクセラレータキー メッセージを処理します。 ATL 実装によって E_NOTIMPL が返されます。

解説

IOleInPlaceActiveObject インターフェイスは、インプレース コントロールとそのコンテナー間の通信を支援します。たとえば、コントロールとコンテナーのアクティブな状態を伝えたり、サイズ変更の必要があることをコントロールに通知したりします。 クラス IOleInPlaceActiveObjectImpl により、既定の IOleInPlaceActiveObject の実装が提供され、デバッグ ビルドでダンプ デバイスに情報を送信することによって IUnknown がサポートされます。

関連記事ATL チュートリアル、「ATL プロジェクトの作成

継承階層

IOleInPlaceActiveObject

IOleInPlaceActiveObjectImpl

必要条件

ヘッダー: atlctl.h

IOleInPlaceActiveObjectImpl::ContextSensitiveHelp

状況依存のヘルプが有効になります。

HRESULT ContextSensitiveHelp(BOOL fEnterMode);

戻り値

E_NOTIMPL を返します。

解説

Windows SDK の IOleWindow::ContextSensitiveHelp に関する記事を参照してください。

IOleInPlaceActiveObjectImpl::EnableModeless

モードレス ダイアログ ボックスが有効になります。

HRESULT EnableModeless(BOOL fEnable);

戻り値

S_OK を返します。

解説

Windows SDK の IOleInPlaceActiveObject::EnableModeless に関する記事を参照してください。

IOleInPlaceActiveObjectImpl::GetWindow

コンテナーがこの関数を呼び出して、コントロールのウィンドウ ハンドルを取得します。

HRESULT GetWindow(HWND* phwnd);

解説

一部のコンテナーは、現在ウィンドウ化されている場合でも、ウィンドウなしだったコントロールでは機能しません。 ATL の実装では、CComControl::m_bWasOnceWindowless データ メンバーが TRUE の場合、関数は E_FAIL を返します。 それ以外の、*phwnd が NULL でない場合、GetWindowphwnd をコントロール クラスのデータ メンバー m_hWnd に割り当て、S_OK を返します。

Windows SDK の IOleWindow::GetWindow に関する記事を参照してください。

IOleInPlaceActiveObjectImpl::OnDocWindowActivate

コンテナーのドキュメント ウィンドウがアクティブ化または非アクティブ化されたときに、コントロールに通知します。

HRESULT OnDocWindowActivate(BOOL fActivate);

戻り値

S_OK を返します。

解説

Windows SDK の IOleInPlaceActiveObject::OnDocWindowActivate に関する記事を参照してください。

IOleInPlaceActiveObjectImpl::OnFrameWindowActivate

コンテナーの最上位レベルのフレーム ウィンドウがアクティブ化または非アクティブ化されたときに、コントロールに通知します。

HRESULT OnFrameWindowActivate(BOOL fActivate);

戻り値

S_OK を返します。

解説

Windows SDK の IOleInPlaceActiveObject::OnFrameWindowActivate に関する記事を参照してください。

IOleInPlaceActiveObjectImpl::ResizeBorder

境界線のサイズを変更する必要があることをコントロールに通知します。

HRESULT ResizeBorder(
    LPRECT prcBorder,
    IOleInPlaceUIWindow* pUIWindow,
    BOOL fFrameWindow);

戻り値

S_OK を返します。

解説

Windows SDK の IOleInPlaceActiveObject::ResizeBorder に関する記事を参照してください。

IOleInPlaceActiveObjectImpl::TranslateAccelerator

コンテナーからのメニュー アクセラレータキー メッセージを処理します。

HRESULT TranslateAccelerator(LPMSG lpmsg);

戻り値

このメソッドは、次の戻り値をサポートします。

メッセージが正常に変換された場合は S_OK。

メッセージが変換されなかった場合は S_FALSE。

解説

Windows SDK の IOleInPlaceActiveObject::TranslateAccelerator に関する記事を参照してください。

関連項目

CComControl クラス
ActiveX コントロール インターフェイス
クラスの概要