3

Internet Explorer 10 has built in spell checker and it works just fine. I tried to create a small HTML page to test it with following contents:

<!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>

All that is needed is to put properties spellcheck=true and contentEditable=true.

I also tried adding <meta http-equiv="X-UA-Compatible" content="IE=10" /> e.g.

<!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>

For that matter, using IE=edge instead of IE=10 doesn't make any difference: What does <meta http-equiv="X-UA-Compatible" content="IE=edge"> do?

I then tried adding setting FEATURE_BROWSER_EMULATION to registry: http://www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version

This improved rendering of certain elements which had CSS styles like border-radius so at least I could see it is in IE10 mode, but still no spell checker.

The above page works in Internet Explorer browser and spell check is working.

However, when same content is loaded into TWebBrowser (I use TEmbeddedWB but it is just the same wrapper anyway) it doesn't work.

After googling and googling for solutions, still haven't found one. Do you know is this even possible in WebBrowser control? I need the solution that would work on Windows 7 not just Windows 8. I've seen the registry entry FEATURE_SPELLCHECKING but it applies only to Windows 8.

Are there any alternative solutions that would work within DesignMode of TWebBrowser control? I am looking for curvy red underline thing like in Word or other programs and possible GUI window to offer alternative words.

Community
  • 1
  • 1
Coder12345
  • 3,431
  • 3
  • 33
  • 73
  • 2
    Web Browser Control uses IE 7 rendering mode by default. maybe you need to switch it to a higher rendering mode. [see this article](http://www.west-wind.com/weblog/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version) – kobik Oct 10 '13 at 15:13
  • Thanks, I didn't know about this setting. It helps in getting my editor more compliant. But unfortunately it is not working for spell checker. I also added `` (without it - it doesn't work). I can see curved border-radius now, but spell check is not working. – Coder12345 Oct 10 '13 at 16:26
  • You should post what you've tried. – Marcus Adams Oct 10 '13 at 18:49
  • 1
    Have you tried [FEATURE_SPELLCHECKING](http://msdn.microsoft.com/en-us/library/ee330735(v=vs.85).aspx#spellchecking)? – noseratio Oct 10 '13 at 19:57
  • I haven't but that particular feature has been introduced with IE11 which is not available on Windows 7 - and therefore it is not in registry as well. Do you have it on Windows 7 + IE10? – Coder12345 Oct 10 '13 at 21:38
  • I think it's IE10-specific, rather than Win8, but I'm not sure. Give it a try and share the results. – noseratio Oct 10 '13 at 21:40
  • 1
    From your link: "For Windows 8 and later, the FEATURE_SPELLCHECKING feature controls this behavior for Internet Explorer and for applications hosting the web browser control (WebOC). When fully enabled, this feature automatically corrects grammar issues and identifies misspelled words for the conditions described earlier.". It is Windows 8 specific, doesn't apply to Windows 7. It might make it work on Windows 8 though, I'd have to try that, but I need it for Win 7 too. – Coder12345 Oct 10 '13 at 21:41
  • @Coder12345, you're right, with IE10 it works under Win8 but not under Win7, I've verified that too. That applies even to simple HTML like `...`. Perhaps, there is no way of enabling it for `WebBrowser` under Win7. It'll be interesting to see if IE11 has a different behavior. – noseratio Oct 11 '13 at 06:50

2 Answers2

5

I think you are out of luck here. There was a bug report on Microsoft Connect concerning FEATURE_SPELLCHECKING and windows 7. Unfortunately it has been closed "as Designed".

This is the official answer from Microsoft:

Thank you for your feedback.

After additional review, the spelling feature is only supported on Windows 8 and higher and is not supported on Windows 7. This is because the spelling feature was built into the Windows 8 platform.

Best regards,

The Internet Explorer Team

whosrdaddy
  • 11,720
  • 4
  • 50
  • 99
  • Thanks. I guess I'll be looking for other ways to implement spell checker into the browser control. – Coder12345 Oct 11 '13 at 19:40
  • Hi, can you explain why we still have SpellCheck on IE 11 **native** of windows 7 (not embedded one with WebBrowser Control)? – Bằng Nov 23 '18 at 16:04
  • The link to Microsoft Connect is broken. Does anyone know how to retrieve the information on that link? Thanks – Bằng Nov 23 '18 at 20:47
  • Hi Cong Bang DO, it seems indeed that the link is broken and all ms social posts on this subject link to the connect article. What is your issue? – whosrdaddy Nov 23 '18 at 20:55
  • Hi @whosrdaddy, I have the same issue to activate the spellchecking on an embedded IE in my application on Windows 7. Just want to see the link to verify to my team that the spellchecking is not supported on Windows 7 for embedded browser. Do you have any idea? – Bằng Nov 26 '18 at 14:07
  • 1
    @CongBangDO, that's why I copied the statement from Microsoft in my answer? If you are on windows 7, you are out of luck. On W7 IE solves the problem by including an extension, but you don't have that on the embedded browser... – whosrdaddy Nov 26 '18 at 18:51
2

try to change it in the registry...

Bye Nicolas Perichon

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER) SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_BROWSER_EMULATION contoso.exe = (DWORD) 000090000

10001 (0x2711)Internet Explorer 10. Webpages are displayed in IE10 Standards mode, regardless of the !DOCTYPE directive. 10000 (0x02710) Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode. Default value for Internet Explorer 10.

info de Microsoft: msdn.microsoft.com/en-us/library/ee330730%28VS.85%29.aspx#browser_emulation

Pericles
  • 120
  • 7
  • I already tried that for both 32 and 64 bit registry. It improves rendering (e.g. `border-radius` works) but does not add spell checking. – Coder12345 Oct 10 '13 at 21:40