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 控件接口
类概述