TWebBrowser(TEmbeddedWB)控件中的拼写检查程序

Cod*_*345 3 delphi spell-checking c++builder webbrowser-control twebbrowser

Internet Explorer 10内置了拼写检查功能,工作正常.我尝试创建一个小的HTML页面,用以下内容对其进行测试:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=en xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD>
<META name=GENERATOR content="MSHTML 10.00.9200.16721"></HEAD>
<BODY spellcheck=true contentEditable=true style="MARGIN: 0.5em">
<P>Theze ara mispeled wordz</P>
</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

所需要的只是放置属性spellcheck=truecontentEditable=true.

我也试过添加<meta http-equiv="X-UA-Compatible" content="IE=10" />例如

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=en xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<META name=GENERATOR content="MSHTML 10.00.9200.16721"></HEAD>
<BODY spellcheck=true contentEditable=true style="MARGIN: 0.5em">
<P>Theze ara mispeled wordz</P>
</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

就此而言,使用IE = edge而不是IE = 10没有任何区别: <meta http-equiv ="X-UA-Compatible"content ="IE = edge">是做什么的?

然后我尝试将设置FEATURE_BROWSER_EMULATION添加到注册表:http: //www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

这改进了某些具有CSS样式的元素的渲染,border-radius至少我可以看到它是在IE10模式下,但仍然没有拼写检查.

上面的页面在Internet Explorer浏览器中工作,拼写检查正常.

但是,当相同的内容被加载到TWebBrowser(我使用,TEmbeddedWB但它只是相同的包装)它不起作用.

谷歌搜索和谷歌搜索解决方案后,仍然没有找到一个.你知道这在WebBrowser控件中是否可行?我需要的解决方案可以在Windows 7上运行,而不仅仅是Windows 8.我已经看到了注册表项FEATURE_SPELLCHECKING,但它仅适用于Windows 8.

是否有任何其他解决方案,将内工作DesignModeTWebBrowser控制?我正在寻找弯曲的红色下划线,如Word或其他程序和可能的GUI窗口,以提供替代单词.

who*_*ddy 5

我觉得你这里运气不好.有一个关于Microsoft Connect的错误报告涉及FEATURE_SPELLCHECKING和Windows 7.不幸的是,它已经"按设计"关闭.

这是微软的官方回答:

感谢您的反馈意见.

进行额外检查后,拼写功能仅在Windows 8及更高版本上受支持,在Windows 7上不受支持.这是因为拼写功能内置于Windows 8平台中.

最好的祝福,

Internet Explorer团队