ActiveX WebBrowser控件在web-form上不加载国家字典。

问题描述 投票:0回答:1

尊敬的朋友们,大家好!首先我想对我纯正的英语说声抱歉:)

首先我想为我的纯正英语说声抱歉:)

我需要在我的应用程序的一个窗体上托管一个ActiveX WebBrowser控件对象。我使用ATL CAxWindow::Create(... CLSID_WebBrowser ...),第一眼看上去一切正常:网站加载正确,导航工作正常,没有任何问题,但是其中一个网页表单包含一个列表框,里面有国家字典,需要从服务器加载,而我的WebBrowser控件没有加载它,因此我不能完全填写这个网页表单。

如果我用IE导航到那个web-form,国家字典可以正确加载。我有几个WebBrowser控件应用程序的例子(使用MFC CWnd::CreateControl和其他),其中一些不像我的应用程序那样工作,但有些 - 工作正确。我没有看到我的应用程序和下载的示例之间有任何严重的差异,所以我需要帮助。

P. S. 我试着在注册表中为我的应用程序更改FEATURE_BROWSER_EMULATION(IE 7.0, IE 8.0, IE 9.0模式),但没有效果。虽然,样品可以在没有任何注册表调整的情况下工作。

c++ webbrowser-control atl
1个回答
0
投票

我将试着记住这个问题是如何解决的。

没有什么奇迹,WebBrowser控制对象不能工作是因为主机程序中的自定义windows消息(WM_KEYDOWN, WM_KEYUP等)处理。一个简单的实验告诉我,控件本身工作正常,我开始研究主机应用程序的代码,在那里发现了自定义WM-处理程序。

© www.soinside.com 2019 - 2024. All rights reserved.