<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.bishopphillips.com/riskwiki/index.php?action=history&amp;feed=atom&amp;title=BpcMSSpellCheck</id>
		<title>BpcMSSpellCheck - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.bishopphillips.com/riskwiki/index.php?action=history&amp;feed=atom&amp;title=BpcMSSpellCheck"/>
		<link rel="alternate" type="text/html" href="http://www.bishopphillips.com/riskwiki/index.php?title=BpcMSSpellCheck&amp;action=history"/>
		<updated>2026-04-08T09:22:26Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>http://www.bishopphillips.com/riskwiki/index.php?title=BpcMSSpellCheck&amp;diff=670&amp;oldid=prev</id>
		<title>Bishopj: Created page with &quot;==Late Binding MS Word Based Spell Checker for Normal and Rich Text==   Language: Delphi 7 - 2007   &lt;pre&gt; // ==================================================================...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.bishopphillips.com/riskwiki/index.php?title=BpcMSSpellCheck&amp;diff=670&amp;oldid=prev"/>
				<updated>2019-09-11T17:02:04Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Late Binding MS Word Based Spell Checker for Normal and Rich Text==   Language: Delphi 7 - 2007   &amp;lt;pre&amp;gt; // ==================================================================...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Late Binding MS Word Based Spell Checker for Normal and Rich Text==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Language: Delphi 7 - 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// =============================================================================&lt;br /&gt;
// MS Word COM Interface to Spell Check and Synonyms&lt;br /&gt;
// Original Version: Mike Heydon Dec 2000&lt;br /&gt;
// mheydon@eoh.co.za&lt;br /&gt;
// Updated and Expanded: JGBishop 2005,2007,2008&lt;br /&gt;
// =============================================================================&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
  Windows,&lt;br /&gt;
  SysUtils,&lt;br /&gt;
  Classes,&lt;br /&gt;
  ComObj,&lt;br /&gt;
  Dialogs,&lt;br /&gt;
  Forms,&lt;br /&gt;
  StdCtrls,&lt;br /&gt;
  Controls,&lt;br /&gt;
  Buttons,&lt;br /&gt;
  Graphics,&lt;br /&gt;
  ComCtrls;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
  // Event definitions&lt;br /&gt;
  TbpcMSSpellCheckBeforeCorrection = procedure(Sender : TObject;&lt;br /&gt;
                                          MispeltWord : string;&lt;br /&gt;
                                          Suggestions : TStrings) of object;&lt;br /&gt;
&lt;br /&gt;
  TbpcMSSpellCheckAboutToChange    = procedure(Sender : TObject;&lt;br /&gt;
                                          FocusControl : TObject;&lt;br /&gt;
                                          MispeltWord : string; CorrectedWord : string;&lt;br /&gt;
                                          var AllowChange : boolean; Var CancelChanges : boolean) of object;&lt;br /&gt;
&lt;br /&gt;
  TbpcMSSpellCheckAfterCorrection  = procedure(Sender : TObject;&lt;br /&gt;
                                          MispeltWord : string;&lt;br /&gt;
                                          CorrectedWord : string) of object;&lt;br /&gt;
&lt;br /&gt;
  TbpcMSSpellCheckOnCorrection     = procedure(Sender : TObject;&lt;br /&gt;
                                          var WordToCorrect : string) of object;&lt;br /&gt;
&lt;br /&gt;
  TbpcMSSpellCheckOnHideSelection  = procedure(sender : TObject; editcontrol : TObject; OnOrOff : boolean) of object;&lt;br /&gt;
  TbpcMSSpellCheckOnReadHideSelection  = procedure(sender : TObject; editcontrol : TObject; var OnOrOff : boolean) of object;&lt;br /&gt;
  TbpcMSSpellCheckOnReadText  = procedure(sender : TObject; editcontrol : TObject; var StrBuf : string) of object;&lt;br /&gt;
&lt;br /&gt;
  // Property types&lt;br /&gt;
  TbpcMSSpellCheckReplacement = (repDefault,repUser);&lt;br /&gt;
  TbpcMSSpellCheckLetters = set of char;&lt;br /&gt;
&lt;br /&gt;
  TbpcMSSpellCheckLanguage = (wdLanguageNone,wdNoProofing,wdDanish,wdGerman,&lt;br /&gt;
                         wdSwissGerman,wdEnglishAUS,wdEnglishUK,wdEnglishUS,&lt;br /&gt;
                         wdEnglishCanadian,wdEnglishNewZealand,&lt;br /&gt;
                         wdEnglishSouthAfrica,wdSpanish,wdFrench,&lt;br /&gt;
                         wdFrenchCanadian,wdItalian,wdDutch,wdNorwegianBokmol,&lt;br /&gt;
                         wdNorwegianNynorsk,wdBrazilianPortuguese,&lt;br /&gt;
                         wdPortuguese,wdFinnish,wdSwedish,wdCatalan,wdGreek,&lt;br /&gt;
                         wdTurkish,wdRussian,wdCzech,wdHungarian,wdPolish,&lt;br /&gt;
                         wdSlovenian,wdBasque,wdMalaysian,wdJapanese,wdKorean,&lt;br /&gt;
                         wdSimplifiedChinese,wdTraditionalChinese,&lt;br /&gt;
                         wdSwissFrench,wdSesotho,wdTsonga,wdTswana,wdVenda,&lt;br /&gt;
                         wdXhosa,wdZulu,wdAfrikaans,wdArabic,wdHebrew,&lt;br /&gt;
                         wdSlovak,wdFarsi,wdRomanian,wdCroatian,wdUkrainian,&lt;br /&gt;
                         wdByelorussian,wdEstonian,wdLatvian,wdMacedonian,&lt;br /&gt;
                         wdSerbianLatin,wdSerbianCyrillic,wdIcelandic,&lt;br /&gt;
                         wdBelgianFrench,wdBelgianDutch,wdBulgarian,&lt;br /&gt;
                         wdMexicanSpanish,wdSpanishModernSort,wdSwissItalian);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Main TbpcMSSpellCheck Class&lt;br /&gt;
  TbpcMSSpellCheck = class(TComponent)&lt;br /&gt;
  private&lt;br /&gt;
    FLetterChars : TbpcMSSpellCheckLetters;&lt;br /&gt;
    FFont : TFont;&lt;br /&gt;
    FColor : TColor;&lt;br /&gt;
    FReplaceDialog : TbpcMSSpellCheckReplacement;&lt;br /&gt;
    FCompletedMessage,&lt;br /&gt;
    FActive : boolean;&lt;br /&gt;
    FLanguage : TbpcMSSpellCheckLanguage;&lt;br /&gt;
    FForm : TForm;&lt;br /&gt;
    FEbox : TEdit;&lt;br /&gt;
    FLbox : TListBox;&lt;br /&gt;
    FCancelBtn,&lt;br /&gt;
    FChangeBtn : TBitBtn;&lt;br /&gt;
    FBeforeCorrection : TbpcMSSpellCheckBeforeCorrection;&lt;br /&gt;
    FAfterCorrection : TbpcMSSpellCheckAfterCorrection;&lt;br /&gt;
    FOnCorrection : TbpcMSSpellCheckOnCorrection;&lt;br /&gt;
    FOnHideSelection : TbpcMSSpellCheckOnHideSelection;&lt;br /&gt;
    FOnReadHideSelection : TbpcMSSpellCheckOnReadHideSelection;&lt;br /&gt;
    FOnReadTextBuf : TbpcMSSpellCheckOnReadText;&lt;br /&gt;
    FAboutToChange : TbpcMSSpellCheckAboutToChange;&lt;br /&gt;
    FRPCErrorCount : integer;&lt;br /&gt;
    FUseExistingInstance : boolean;&lt;br /&gt;
    procedure SetFFont(NewValue : TFont);&lt;br /&gt;
  protected&lt;br /&gt;
    procedure MakeForm;&lt;br /&gt;
    procedure CloseForm;&lt;br /&gt;
    procedure SuggestedClick(Sender : TObject);&lt;br /&gt;
  public&lt;br /&gt;
    MsWordApp,&lt;br /&gt;
    MsSuggestions : OleVariant;&lt;br /&gt;
&lt;br /&gt;
    constructor Create(AOwner : TComponent); override;&lt;br /&gt;
    destructor Destroy; override;&lt;br /&gt;
    function GetSynonyms(StrWord : string; Synonyms : TStrings) : boolean;&lt;br /&gt;
    function CheckWordSpelling(StrWord : string;&lt;br /&gt;
                           Suggestions : TStrings) : boolean;&lt;br /&gt;
    procedure CheckTextSpelling(var StrText : string);&lt;br /&gt;
    procedure CheckRichTextSpelling(RichEdit : TCustomRichEdit; bLineAdjust : boolean=False);&lt;br /&gt;
    procedure CheckMemoTextSpelling(Memo : TCustomMemo);&lt;br /&gt;
    procedure CheckEditTextSpelling(Memo : TCustomEdit);&lt;br /&gt;
    Function Connect : Boolean;&lt;br /&gt;
    Function DisConnect : Boolean;&lt;br /&gt;
    property Active : boolean read FActive;&lt;br /&gt;
    property LetterChars : TbpcMSSpellCheckletters read FLetterChars write FLetterChars;&lt;br /&gt;
  published&lt;br /&gt;
    property Language : TbpcMSSpellCheckLanguage read FLanguage&lt;br /&gt;
                                            write FLanguage;&lt;br /&gt;
    property CompletedMessage : boolean read FCompletedMessage&lt;br /&gt;
                                        write FCompletedMessage;&lt;br /&gt;
    property Color : TColor read FColor write FColor;&lt;br /&gt;
    property Font : TFont read FFont write SetFFont;&lt;br /&gt;
    property BeforeCorrection : TbpcMSSpellCheckBeforeCorrection&lt;br /&gt;
                                read FBeforeCorrection&lt;br /&gt;
                                write FBeforeCorrection;&lt;br /&gt;
    property AboutToChange :  TbpcMSSpellCheckAboutToChange&lt;br /&gt;
                                read FAboutToChange&lt;br /&gt;
                                write FAboutToChange;&lt;br /&gt;
    property AfterCorrection : TbpcMSSpellCheckAfterCorrection&lt;br /&gt;
                               read FAfterCorrection&lt;br /&gt;
                               write FAfterCorrection;&lt;br /&gt;
    property OnCorrection : TbpcMSSpellCheckOnCorrection&lt;br /&gt;
                            read FOnCorrection&lt;br /&gt;
                            write FOnCorrection;&lt;br /&gt;
    property OnHideSelection : TbpcMSSpellCheckOnHideSelection&lt;br /&gt;
                            read FOnHideSelection&lt;br /&gt;
                            write FOnHideSelection;&lt;br /&gt;
    property OnReadHideSelection : TbpcMSSpellCheckOnReadHideSelection&lt;br /&gt;
                            read FOnReadHideSelection&lt;br /&gt;
                            write FOnReadHideSelection;&lt;br /&gt;
    property OnReadTextBuf : TbpcMSSpellCheckOnReadText&lt;br /&gt;
                            read FOnReadTextBuf&lt;br /&gt;
                            write FOnReadTextBuf;&lt;br /&gt;
    property ReplaceDialog : TbpcMSSpellCheckReplacement&lt;br /&gt;
                             read FReplaceDialog&lt;br /&gt;
                             write FReplaceDialog;&lt;br /&gt;
    property UseExistingInstance : boolean read FUseExistingInstance&lt;br /&gt;
                                        write FUseExistingInstance;&lt;br /&gt;
  end;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=BackLinks=&lt;br /&gt;
&lt;br /&gt;
{{#dpl: linksto={{FULLPAGENAME}} }}&lt;/div&gt;</summary>
		<author><name>Bishopj</name></author>	</entry>

	</feed>