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
。
繼承階層架構
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 。