IOleControlSite::TranslateAccelerator 方法 (ocidl.h)

将击键传递到控制站点进行处理。

语法

HRESULT TranslateAccelerator(
  [in] MSG   *pMsg,
  [in] DWORD grfModifiers
);

参数

[in] pMsg

指向描述要处理的击键的 MSG 结构的指针。

[in] grfModifiers

描述 Control、Alt 和 Shift 键状态的标志。 标志的值可以是任何有效的 KEYMODIFIERS 枚举值。

返回值

此方法可以返回以下值。

返回代码 说明
S_OK
容器处理了消息。
S_FALSE
容器未处理消息。 除E_NOTIMPL之外,还必须在所有其他错误情况下返回此值。
E_NOTIMPL
容器不实现加速器支持。

注解

此方法由 UI-active 的控件调用。 在这种情况下,控件可以根据正常的 OLE 复合文档规则,首先通过 IOleInPlaceActiveObject::TranslateAccelerator 处理所有击键。 在该方法中,控件可以通过调用 IOleControlSite::TranslateAccelerator 并使用返回值确定是否进行了任何处理,为容器提供要首先处理的某些消息。 否则,控件始终首先处理消息。 如果控件未将击键用作快捷键,则它通过此方法将击键传递到容器。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ocidl.h

另请参阅

IOleControlSite

IOleInPlaceActiveObject::TranslateAccelerator