Wintertree Software Inc.

Sentry Spell Checker for MFC

Home Site index Contact us Catalog Shopping Cart Products Support Search

Add a spell checker to your MFC applications with Sentry Spell Checker

You are here: Home > Add a spell checker to your applications > MFC > Sentry Spelling Checker for Windows


Sentry Spell Checker provides everything you need to add a full spell check capability to your 32-bit MFC applications. Click here to find out more about Sentry Spell Checker.

Click on a topic below to find out more about how Sentry Spell Checker works with your MFC applications:


How to spell check a CEdit or CRichEdit control

Many applications let their users enter text via a CEdit, CRichEdit, or TX Text Control on a form. If this is how your application works, you can add a spell checker in minutes using these simple steps:

  1. Set the No Hide Selection property of the control, or set the ES_NOHIDESEL style when you create the control. This lets Sentry Spell Checker highlight any misspelled words found.

  2. Add a "Spell check" button or menu item to your form.
  3. In the event handler for your "Spell check" button or menu item, pass a pointer to the control to the Check method of a CSentrySpellDlg object.

That's all there is to it! When the "Spell check" button or menu item is pressed, Sentry will check the spelling of words in the control. If a misspelled word is found, Sentry will pop up a dialog the user can interact with to dispose of the misspelling. The misspelled word will be highlighted in the CEdit or CRichEdit control. The dialog shows suggested replacements for the misspelled word. If the user makes a correction, the control will be updated automatically.

Spell check dialog


How to check spelling "as you type"

You may want to give your users immediate feedback on spelling errors, to report misspellings as soon as they occur. This feature is used in Microsoft Office. Your users are probably already familiar with the "as you type" spell checker feature and may demand it in your product. Including it will give your product a competitive advantage.

"As you type" spell checking is easy with Sentry! Just handle the EN_CHANGE and EN_SELCHANGE events from the control, and call Sentry's CheckCtrlBackgroundNotify function. Sentry will monitor the user's typing in the background, and will mark any misspelled words (e.g., by changing the text color to red). Corrected words are automatically unmarked. You can catch right-mouse clicks and display a spelling context menu by calling the CheckCtrlBackgroundMenu function.

"As you type" spell checking. The context menu shows suggested replacements for misspelled words.


How to spell check strings

Spell check dialog showing context display.

The text you want to spell check may not be entered by the user -- it may be read from a disk file or database, or obtained from data structures within your application.

Sentry Spell Checker can check words contained in strings, including "char *" and CStrings, interactively or not interactively.

To check a CString interactively, just pass it to the Check method of a CSentrySpellDlg object. The string can contain a single word or an entire book. Sentry will check the spelling of words in the string. If a misspelled word is found, Sentry will pop up a dialog the user can interact with to dispose of the problem. The dialog shows suggested replacements for the misspelled word. If the user makes a correction, the string will be updated automatically. Sentry can even optionally show the string's contents in a text box attached to the dialog so the user can see the misspelled words in context.

Checking strings non-interactively is done via the CheckString function. CheckString is usually called in a loop. It checks each word in the string and returns when it finds a misspelled word or when all words have been checked. Your application can obtain a list of suggested replacements for the misspelled word from the Suggest function.


Home Site index Contact us Catalog Shopping Cart Products Support Search


Copyright © 2015 Wintertree Software Inc.