控件的键盘操作

控件可对键盘加速器做出响应,以便最终用户启动控件执行的操作。 容器管理其所有嵌入控件的键盘活动。 使用复合文档时,键盘加速器仅适用于当前活动对象。 使用控件时,已添加一种机制,以便即使控件 UI 当前不处于活动状态,也能响应其键盘助记操作。

IOleControl::GetControlInfoIOleControl::OnMnemonic 方法以及 IOleControlSite::OnControlInfoChanged 方法可处理控件的键盘助记。 CONTROLINFO 结构描述控件的助记加速器,通过 GetControlInfo 方法传递回的标志描述使用 Enter 和 Esc 键的控件行为。 控件更改其助记时会调用 OnControlInfoChanged,以便容器可以在必要时重新加载结构。

当控件 UI 处于活动状态时,也是具有焦点的控件。 当控件在就地活动状态和 UI 活动状态之间激活和停用时,该控件会调用 IOleControlSite::OnFocus 来告知容器此类更改。

此外,当控件 UI 处于活动状态时,将有机会处理任何击键。 控件会调用 IOleControlSite::TranslateAccelerator,以便容器先处理击键。 如果容器未处理击键,则控件会处理。

ActiveX 控件