YOU CAN CODE!

 

With The Case Of UCanCode.net  Release The Power OF  Visual C++ !   HomeProducts | PurchaseSupport | Downloads  
Download Evaluation
Pricing & Purchase?
E-XD++Visual C++/ MFC Products
Overview
Features Tour 
Electronic Form Solution
Visualization & HMI Solution
Power system HMI Solution
CAD Drawing and Printing Solution

Bar code labeling Solution
Workflow Solution

Coal industry HMI Solution
Instrumentation Gauge Solution

Report Printing Solution
Graphical modeling Solution
GIS mapping solution

Visio graphics solution
Industrial control SCADA &HMI Solution
BPM business process Solution

Industrial monitoring Solution
Flowchart and diagramming Solution
Organization Diagram Solution

Graphic editor Source Code
UML drawing editor Source Code
Map Diagramming Solution

Architectural Graphic Drawing Solution
Request Evaluation
Purchase
ActiveX COM Products
Overview
Download
Purchase
Technical Support
  General Q & A
Discussion Board
Contact Us

Links

Get Ready to Unleash the Power of UCanCode .NET


UCanCode Software focuses on general application software development. We provide complete solution for developers. No matter you want to develop a simple database workflow application, or an large flow/diagram based system, our product will provide a complete solution for you. Our product had been used by hundreds of top companies around the world!

"100% source code provided! Free you from not daring to use components because of unable to master the key technology of components!"


VC++ Control: Spell Checker Control Source Code

 
 

Sample Image - main.jpg

Introduction

Sometimes, it would be nice to have an edit box with a spell checker and/or thesaurus built in, especially if you use edit boxes to enter longer messages (E.g. for logs, descriptions, IM messages, ...).

While searching the web, I found some free spell checkers, but most of them didn't work on Windows, or missed many language dictionaries. Then I found MySpell which is used by the free OpenOffice suite. It is distributed under a BSD license, which means you can use it in commercial applications. You just have to mention the copyright somewhere in your app.

And since MySpell is used by OpenOffice, there are dictionaries for almost every language available. And those dictionary files are compatible with the ones Mozilla uses.

I found MySpell, I started hacking on extending the CEdit control to make good use of it. Here's what the result looks like:

spellchecker

thesaurus

Usage

To use the CSpellEdit control:

  1. Add the files SpellEdit.h, SpellEdit.cpp and all files in the MySpell folder to your project.
  2. Replace all CEdit variables with CSpellEdit (don't forget to #include the SpellEdit.h file).

Since the default context menu of the edit control is replaced (see PJ Arends' article here on how to do that), you might want to translate those strings (default is English). To do that, you can add the following strings to your resource stringtable:

  • IDS_SPELLEDIT_UNDO
  • IDS_SPELLEDIT_COPY
  • IDS_SPELLEDIT_CUT
  • IDS_SPELLEDIT_DELETE
  • IDS_SPELLEDIT_PASTE
  • IDS_SPELLEDIT_SELECTALL

If those strings are not present, then the default English strings will be used.

Also: if no dictionary files are found or set, then the CSpellEdit control will do nothing, i.e. it will be exactly like the normal CEdit control.

Dictionaries

CSpellEdit searches for dictionary files at startup automatically. It looks for those files in the same directory as the program is and in the /dic/ subfolder. For example in:

  • c:\program files\myapp\
  • c:\program files\myapp\dic\

Since there could be many dictionary files in those folders, CSpellEdit first checks if there are dictionaries for the current user locale. If those are not found, then it looks for the English dictionaries. Example:

Collapse Copy Code
Current user locale is: de_CH
try Imyapp\de_CH.*I
try Imyapp\dic\de_CH.*I
try Imyapp\de_DE.*I
try Imyapp\dic\de_DE.*I
try Imyapp\en_US.*I
try Imyapp\dic\en_US.*I

If you don't want to store the dictionary files in your program's folder, you can set the paths to the dictionary files with the SetDictPaths() and SetThesaurPaths() methods.

 

 

 

Copyright ?1998-2024 UCanCode.Net Software , all rights reserved.
Other product and company names herein may be the trademarks of their respective owners.

Please direct your questions or comments to webmaster@ucancode.net