大致开发和NPAPI上类似。
但是在ie上会出现一个问题:
在CEdit输入框里面,按BACKSPACE是没有用的,当由插件切换到浏览器页面的其他部分,再聚焦到插件上的时候,不只BACKSPACE键,HOME,End,UP,DOWN,LEFT等等都没有响应。
http://kbalertz.com/195238/Control-Detect-Keystrokes-SSTabs-Exist.aspx
以上文章对问题说的更清楚点,以及解决方法。
处理方法:
在插件控制类里面添加ON_WM_MOUSEACTIVATE消息,处理函数:
int CMyEditCtlAppCtrl::OnMouseActivate(CWnd* pDesktopWnd,
UINT nHitTest, UINT message)
{
OnActivateInPlace (TRUE, NULL); // UI-Activate the control
return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
简单理解成,当鼠标激活的时候,插件本身没有把某些消息传送下去,需要手动处理。