共用方式為


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,GetWindow請將 phwnd 指派給控件類別的數據成員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 控制件介面
類別概觀