Wintertree Software Inc.

Sentry Spell Checker

Home Site index Contact us Catalog Shopping Cart Products Support Search

You are here: Home > Add a spell checker to your applications > C/C++


Add a spell checker to your Windows C/C++ applications with Sentry Spell Checker

Sentry Spell Checker provides everything you need to add a full spell check capability to your 32-bit Windows applications written in C or C++. 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 C/C++ applications:


How to spell check an edit or richedit control

Many C/C++ applications let their users enter text via an edit or richedit control on a dialog. If this is how your application works, you can add a spellchecker in minutes using these simple steps:

  1. Set the No Hide Selection property of the edit or rich edit 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 the window handle (HWND) of the edit or rich-edit control to Sentry's CheckCtrlDlg function.

Spell check dialog

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 edit or richedit control. The dialog shows suggested replacements for the misspelled word. If the user makes a correction, the control will be updated automatically.


How to check spelling "as you type"

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

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 the Sentry DLL! Just catch the EN_CHANGE and EN_SELCHANGE events, and call Sentry's CheckCtrlBackgroundNotify function. The Sentry DLL will monitor the user's typing in the background, and will mark misspelled words (e.g., by changing the text color to red). When the user edits the word to correct its spelling, Sentry automatically unmarks the word. You can also catch right-mouse clicks and call CheckCtrlBackgroundMenu to display a context menu containing suggestions.


How to spell check strings

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 Spellcheck Engine can check words contained in strings interactively or non-interactively.

To check a string interactively, just pass it to the CheckBlockDlg function. 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.

Spell check dialog showing context display.

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.