ActiveX控件开发人员如需正确处理在浏览器中的鼠标键盘事件,可首先参考一下潘爱民老师的《COM原理与应用》第12章:ActiveX控制,第392页。其中系统阐述了ActiveX控件与其容器程序的键盘交互原理。
1. 控件初次加载时,进行实地激活。如果基于ATL的简单控件CComControl,则可在OnCreate中添加。如果基于ATL的复合控件CComCompositeControl,则可在OnInitDialog中添加。
//Activate control in web browser immediately
InPlaceActivate(OLEIVERB_UIACTIVATE);
2. 当鼠标点击控件时,应进行实地激活。此处主要响应WM_MOUSEACTIVATE事件。
LRESULT OnMouseActivate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
//Activate control in web browser immediately
InPlaceActivate(OLEIVERB_UIACTIVATE);
return 0;
}

本文介绍了如何在ActiveX控件中处理浏览器中的鼠标键盘事件,包括控件激活、鼠标点击响应以及特定键盘事件的处理。通过示例代码展示了如何处理TAB、RETURN、上下左右箭头等键,并提供了处理滚动条和默认按钮的方法。

2319

被折叠的 条评论
为什么被折叠?



