MFC ActiveX CEdit

来源:互联网 发布:python 闭包 编辑:程序博客网 时间:2024/06/14 20:20

大致开发和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);   }


 

简单理解成,当鼠标激活的时候,插件本身没有把某些消息传送下去,需要手动处理。

 

原创粉丝点击