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。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈