Mfc Adobe Reader ActiveX块加速器

Mfc Adobe Reader ActiveX块加速器,mfc,activex,adobe-reader,Mfc,Activex,Adobe Reader,我在MFC应用程序中嵌入了一个Adobe Reader ActiveX控件作为子窗口,但如果阅读器具有焦点,则不会触发MFC应用程序中定义的任何加速器,无论Adobe Reader是否使用它们。如果使用相同的方法嵌入其他ActiveX控件,则检测加速器不会有问题 我已经使用VisualStudio2008IDE为Adobe Reader ActiveX控件生成了一个包装器(默认情况下称为CAcroAXDocShim)。在WM_INITDIALOG处理期间用于创建控件的代码为: m_ctrl.Cr

我在MFC应用程序中嵌入了一个Adobe Reader ActiveX控件作为子窗口,但如果阅读器具有焦点,则不会触发MFC应用程序中定义的任何加速器,无论Adobe Reader是否使用它们。如果使用相同的方法嵌入其他ActiveX控件,则检测加速器不会有问题

我已经使用VisualStudio2008IDE为Adobe Reader ActiveX控件生成了一个包装器(默认情况下称为CAcroAXDocShim)。在WM_INITDIALOG处理期间用于创建控件的代码为:

m_ctrl.Create(_T("PDF Viewer"), WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_TABSTOP, CRect(5, 5, 400, 300), this, 1001);
m_ctrl.LoadFile(_T("C:\\auslab\\test.pdf"));
窗口出现,正确加载PDF,工作正常,但如果ActiveX控件具有焦点,我无法通过以下方式截获键盘输入:

  • 使用加速器
  • CWinApp派生类上的预翻译消息
  • ActiveX控件父窗口的窗口类上的预翻译消息
  • 处理WM_SYSCOMMAND
事实上,我试图在主窗口消息循环中为我的键在WM_KEYDOWN消息上设置一个断点,当ActiveX控件具有焦点时,它似乎从未被击中。我曾尝试在我的应用程序中使用键盘挂钩来覆盖控件的按键处理,但它似乎工作不可靠——它会运行一段时间,但在一些交互之后,键盘挂钩完全停止


有什么想法吗?提前感谢。

根据下面的链接,“事件不会传递给容器。”

根据下面的链接,“事件不会传递给容器。”