IOleInPlaceObjectWindowlessImpl クラス
IUnknown
を実装するこのクラスには、ウィンドウレス コントロールでウィンドウ メッセージを受け取り、ドラッグ アンド ドロップ操作に対応できるようにするメソッドが用意されています。
重要
このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。
構文
template<class T>
class IOleInPlaceObjectWindowlessImpl
パラメーター
T
IOleInPlaceObjectWindowlessImpl
から派生したクラス。
メンバー
パブリック メソッド
名前 | 説明 |
---|---|
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp | 状況依存のヘルプが有効になります。 ATL 実装によって E_NOTIMPL が返されます。 |
IOleInPlaceObjectWindowlessImpl::GetDropTarget | ドラッグ アンド ドロップをサポートする、インプレース アクティブであるウィンドウレス オブジェクトの IDropTarget インターフェイスを提供します。 ATL 実装によって E_NOTIMPL が返されます。 |
IOleInPlaceObjectWindowlessImpl::GetWindow | ウィンドウ ハンドルを取得します。 |
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate | アクティブなインプレース コントロールを非アクティブ化します。 |
IOleInPlaceObjectWindowlessImpl::OnWindowMessage | インプレース アクティブであるウィンドウレス コントロールに、コンテナーからメッセージをディスパッチします。 |
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo | 直前に非アクティブだったコントロールを再アクティブ化します。 ATL 実装によって E_NOTIMPL が返されます。 |
IOleInPlaceObjectWindowlessImpl::SetObjectRects | インプレース コントロールのどの部分を表示するかを示します。 |
IOleInPlaceObjectWindowlessImpl::UIDeactivate | インプレース アクティブ化をサポートするユーザー インターフェイスを非アクティブ化して削除します。 |
解説
IOleInPlaceObject インターフェイスは、インプレース コントロールの再アクティブ化と非アクティブ化を管理し、表示する必要があるコントロールの量を決定します。 IOleInPlaceObjectWindowless インターフェイスを使用すると、ウィンドウレス コントロールでウィンドウ メッセージを受け取り、ドラッグ アンド ドロップ操作に対応できます。 クラス IOleInPlaceObjectWindowlessImpl
により、IOleInPlaceObject
および IOleInPlaceObjectWindowless
の既定の実装が提供され、デバッグ ビルドでダンプ デバイスに情報を送信することによって IUnknown
が実装されます。
関連記事 ATL チュートリアル、 ATL プロジェクトの作成
継承階層
IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowlessImpl
要件
ヘッダー: atlctl.h
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp
E_NOTIMPL を返します。
HRESULT ContextSensitiveHelp(BOOL fEnterMode);
解説
Windows SDK の IOleWindow::ContextSensitiveHelp に関する記事を参照してください。
IOleInPlaceObjectWindowlessImpl::GetDropTarget
E_NOTIMPL を返します。
HRESULT GetDropTarget(IDropTarget** ppDropTarget);
解説
Windows SDK の IOleInPlaceObjectWindowless::GetDropTarget に関する記事を参照してください。
IOleInPlaceObjectWindowlessImpl::GetWindow
コンテナーがこの関数を呼び出して、コントロールのウィンドウ ハンドルを取得します。
HRESULT GetWindow(HWND* phwnd);
解説
一部のコンテナーは、現在ウィンドウ化されている場合でも、ウィンドウなしだったコントロールでは機能しません。 ATL の実装では、コントロール クラスのデータ メンバーである m_bWasOnceWindowless
が TRUE の場合、関数は E_FAIL を返します。 それ以外の、phwnd が NULL でない場合、GetWindow
は *.phwnd をコントロール クラスのデータ メンバー m_hWnd
に設定し、S_OK を返します。
Windows SDK の IOleWindow::GetWindow に関する記事を参照してください。
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate
インプレース アクティブであるコントロールを非アクティブ化するために、コンテナーによって呼び出されます。
HRESULT InPlaceDeactivate(HWND* phwnd);
解説
このメソッドは、コントロールの状態に応じて、完全または部分的な非アクティブ化を実行します。 必要に応じて、コントロールのユーザー インターフェイスが非アクティブ化され、コントロールのウィンドウがある場合は破棄されます。 コントロールがアクティブでなくなったという通知がコンテナーに表示されます。 メニューと境界線域をネゴシエートするためにコンテナーによって使用された IOleInPlaceUIWindow
インターフェイスが解放されます。
Windows SDK の IOleInPlaceObject::InPlaceDeactivate に関する記事を参照してください。
IOleInPlaceObjectWindowlessImpl::OnWindowMessage
インプレース アクティブであるウィンドウレス コントロールにコンテナーからメッセージをディスパッチします。
HRESULT OnWindowMessage(
UINT msg,
WPARAM WParam,
LPARAM LParam,
LRESULT plResultParam);
解説
Windows SDK の IOleInPlaceObjectWindowless::OnWindowMessage に関する記事を参照してください。
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo
E_NOTIMPL を返します。
HRESULT ReactivateAndUndo();
解説
Windows SDK の IOleInPlaceObject::ReactivateAndUndo に関する記事を参照してください。
IOleInPlaceObjectWindowlessImpl::SetObjectRects
コントロールにサイズや位置が変更されたことを通知するために、コンテナーによって呼び出されます。
HRESULT SetObjectRects(LPCRECT prcPos, LPCRECT prcClip);
解説
コントロールの m_rcPos
データ メンバーとコントロールの表示を更新します。 クリップ領域と交差するコントロールの部分だけが表示されます。 コントロールの表示が以前にクリップされていたが、クリップが削除されている場合は、この関数を呼び出して、コントロールの全体像を再描画できます。
Windows SDK の IOleInPlaceObject::SetObjectRects に関する記事を参照してください。
IOleInPlaceObjectWindowlessImpl::UIDeactivate
インプレース アクティブ化をサポートするコントロールのユーザー インターフェイスを非アクティブ化して削除します。
HRESULT UIDeactivate();
解説
コントロール クラスのデータ メンバー m_bUIActive
を FALSE に設定します。 この関数の ATL 実装では、常に S_OK が返されます。
Windows SDK の OleInPlaceObject::UIDeactivate に関する記事を参照してください。