VistA-cprs/CPRS-Chart/fSpellNotify.pas

80 lines
1.9 KiB
Plaintext

unit fSpellNotify;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, uConst, ExtCtrls;
type
TfrmSpellNotify = class(TForm)
lblMain: TLabel;
tmrMain: TTimer;
lblOptions: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Refocus(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
FSpellCheck: boolean;
FEditControl: TCustomMemo;
FFirst: boolean;
procedure WMMove(var Message: TWMMove); message WM_MOVE;
procedure UMDoSpellCheck(var Message: TMessage); message UM_MISC;
public
property SpellCheck: boolean read FSpellCheck write FSpellCheck;
property EditControl: TCustomMemo read FEditControl write FEditControl;
end;
implementation
uses uSpell, ORFn;
{$R *.dfm}
procedure TfrmSpellNotify.Refocus(Sender: TObject);
begin
RefocusSpellCheckWindow;
end;
procedure TfrmSpellNotify.FormCreate(Sender: TObject);
begin
FFirst := True;
end;
procedure TfrmSpellNotify.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
RefocusSpellCheckWindow;
end;
procedure TfrmSpellNotify.FormShow(Sender: TObject);
begin
if FFirst then
begin
FFirst := False;
if not SpellCheck then
begin
lblMain.Caption := 'Grammar Check Running';
lblOptions.Visible := false;
end;
PostMessage(Handle, UM_MISC, 0, 0);
end;
RefocusSpellCheckWindow;
end;
procedure TfrmSpellNotify.UMDoSpellCheck(var Message: TMessage);
begin
InternalSpellCheck(SpellCheck, EditControl);
ModalResult := mrOK;
end;
procedure TfrmSpellNotify.WMMove(var Message: TWMMove);
begin
inherited;
RefocusSpellCheckWindow;
end;
end.