Class TAnsiView (unit ansiview)

Inherits from

TCustomControl

------------------------------------------------------------------

Constructors


constructor Create(AnOwner: TComponent);



Functions

procedure Add(const Str: string);


procedure AnsiWrite(device : TCanvas; x, y : integer; S : string);

PaintCanvas(Self);

procedure Clear;


procedure CopyToClipboard;


procedure CutToClipboard;


destructor Destroy;

Modified:=False;

function GetClickLink( clickx, clicky : integer): string;

inherited;

function GetCurPos: longint;


function GetPos(const Str: string; curpos: longint): longint;


procedure LoadFromFile(const FileName: string);

if not, the ScrollBar is hidden

procedure Print(const fn: string; stpg, endpg: longint; infile, allfile: boolean);


procedure RecalceMaxStrLen;

It should be the same if the text has been vertical scrolled, but it does not work very well if the font has Italic style } Num := ( ( R.

procedure RecalcRange;


function RowLine(s : string) : string;

Inc(tx,Canvas.

procedure ScrollTo(X, Y: longint);


function Search(srstr: string; Down: boolean; posy: longint; var lasty: longint): boolean;

Printer.

procedure SelectAll;


procedure CreateParams(var Params: TCreateParams);

FSelWords.

procedure DoScroll(Which, Action, Thumb: longint);


procedure DrawBack(DC: HDC; Rect: TRect);

-------------------------------------

procedure DrawCanvas;

added myself

procedure FontChanged(Sender: TObject);

Protected declarations

procedure GraphicMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

maxstrlen := 80;

procedure GraphicMouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integer);

inherited;

procedure GraphicMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

inherited;

procedure InsertPages;


procedure KeyDown(var Key: Word; Shift: TShiftState);

CTRL+C,CTRL+X

procedure KeyPressed(Sender: TObject;var Key: char);


procedure Paint;


procedure RemovePages;


procedure SetBackBitmap(Value: TBitmap);

-------------------------------------

procedure SetBackgroundStyle(Value: TBackgroundStyle);

-------------------------------------

procedure SetBorder(Bor: TBorderStyle);


procedure SetColor(Col: Tcolor);


procedure SetFont(Fnt: TFont);


procedure SetHideScrollBars( Value : Boolean );

device.

procedure SetLines(Value: TStrings);


procedure SetScrollBars;


procedure SetSelColor(Col: Tcolor);


procedure SetSelWords(Value: TStrings);

maxstrlen := 80;

procedure SetShowPages(Value: boolean);


procedure SetTextColor(Col: Tcolor);


procedure WMEraseBkgnd(var Message: TWMEraseBkgnd);

-------------------------------------

procedure WMGetDlgCode(var M: TWMGetDlgCode);

procedure KeyDown(var Key: Word; Shift: TShiftState; X: Integer; Y: Integer);

Refresh;


procedure WMHScroll(var M: TWMHScroll);


procedure WMSize(var M: TWMSize);


procedure WMVScroll(var M: TWMVScroll);


Properties

property Align :


property BackgroundBitmap : TBitmap


property BackgroundStyle : TBackgroundStyle


property BorderStyle : TBorderStyle


property Color : TColor


property Font : TFont

Published declarations

property HelpContext :


property HideScrollBars : Boolean


property Lines : TStrings


property SelectColor : TColor


property ShowPages : Boolean


property TabStop :


property TextColor : TColor


Events

event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnLinkClicked : TSVLinkEvent


event OnStartDrag :

property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown; property OnKeyUp: TKeyEvent read FOnKeyUp write FOnKeyUp; property OnKeyPress: TKeyPressEvent read FOnKeyPress write FOnKeyPress; property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown; property OnMouseUp: TMouseEvent read FOnMouseUp write FOnMouseUp; property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;

Variables

AnsiBackGround : TColor;


AnsiColor : TColor;


FFont : TFont;


FLines : TStrings;


IsJump : boolean;


JmpStr : string;


maxstrlen : longint;

Public declarations

PageCount : integer;


Bold : boolean;


Border : TBorderStyle;


CanMark : Boolean;


crMyCurs : TCursor;


FBackBitmap : TBitmap;


FBackgroundStyle : TBackgroundStyle;


FCharSize : TPoint;


FClientSize : TPoint;


FColor : TColor;


fdx : integer;

FSelWords: TStrings;

fdy : integer;


FHideScrollBars : Boolean;


FileLoaded : Boolean;


FonKeyDown : TKeyEvent;


FOnKeyPress : TKeyPressEvent;


FOnKeyUp : TKeyEvent;


FOnLink : TSVLinkEvent;


FOnMouseDown : TMouseEvent;


FOnMouseMove : TMouseMoveEvent;


FOnMouseUp : TMouseEvent;


FOrigin : TPoint;


FOverhang : longint;


FPageSize : longint;


FRange : TPoint;


FSelColor : TColor;


FShowPages : Boolean;


FTextColor : TColor;


FullRedraw : Boolean;


Marked : Boolean;


Marking : Boolean;


maxlen : longint;


Mkc0 : integer;


Mkc1 : integer;


Mkc2 : integer;


MkL0 : integer;


MkL1 : integer;


MkL2 : integer;


MyCursor : Integer;


NumLinks : integer;

Links: array[1.

OldHeight : Integer;


OldWidth : Integer;


scx : longint;


TextAttr : word;

Private declarations

TruncateLines : boolean;


XSize : Integer;


YSize : Integer;



Constructors


constructor Create(AnOwner: TComponent);


Functions


procedure Add(const Str: string);


procedure AnsiWrite(device : TCanvas; x, y : integer; S : string);

PaintCanvas(Self);


procedure Clear;


procedure CopyToClipboard;


procedure CutToClipboard;


destructor Destroy;

Modified:=False;


function GetClickLink( clickx, clicky : integer): string;

inherited;


function GetCurPos: longint;


function GetPos(const Str: string; curpos: longint): longint;


procedure LoadFromFile(const FileName: string);

if not, the ScrollBar is hidden


procedure Print(const fn: string; stpg, endpg: longint; infile, allfile: boolean);


procedure RecalceMaxStrLen;

It should be the same if the text has been vertical scrolled, but it does not work very well if the font has Italic style } Num := ( ( R.Right - R.Left ) div FCharSize.X ) - 1; if ( OldOrigin.X < X ) then R.Left := R.Left + ( ( Num + OldOrigin.X - X ) * FCharSize.X ); if ( OldOrigin.X > X ) then R.Right := R.Right - ( ( Num - OldOrigin.X + X ) * FCharSize.X ); } { The proper rectangle that needs to be updated is invalidated


procedure RecalcRange;


function RowLine(s : string) : string;

Inc(tx,Canvas.TextWidth(ps));


procedure ScrollTo(X, Y: longint);


function Search(srstr: string; Down: boolean; posy: longint; var lasty: longint): boolean;

Printer.Canvas.TextOut(Xs, 400 + y, FLines[Line]);


procedure SelectAll;


procedure CreateParams(var Params: TCreateParams);

FSelWords.Free;


procedure DoScroll(Which, Action, Thumb: longint);


procedure DrawBack(DC: HDC; Rect: TRect);

-------------------------------------


procedure DrawCanvas;

added myself


procedure FontChanged(Sender: TObject);

Protected declarations


procedure GraphicMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

maxstrlen := 80;


procedure GraphicMouseMove(Sender: TObject;Shift: TShiftState; X, Y: Integer);

inherited;


procedure GraphicMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

inherited;


procedure InsertPages;


procedure KeyDown(var Key: Word; Shift: TShiftState);

CTRL+C,CTRL+X


procedure KeyPressed(Sender: TObject;var Key: char);


procedure Paint;


procedure RemovePages;


procedure SetBackBitmap(Value: TBitmap);

-------------------------------------


procedure SetBackgroundStyle(Value: TBackgroundStyle);

-------------------------------------


procedure SetBorder(Bor: TBorderStyle);


procedure SetColor(Col: Tcolor);


procedure SetFont(Fnt: TFont);


procedure SetHideScrollBars( Value : Boolean );

device.TextOut(x, y, sst);


procedure SetLines(Value: TStrings);


procedure SetScrollBars;


procedure SetSelColor(Col: Tcolor);


procedure SetSelWords(Value: TStrings);

maxstrlen := 80;


procedure SetShowPages(Value: boolean);


procedure SetTextColor(Col: Tcolor);


procedure WMEraseBkgnd(var Message: TWMEraseBkgnd);

-------------------------------------


procedure WMGetDlgCode(var M: TWMGetDlgCode);

procedure KeyDown(var Key: Word; Shift: TShiftState; X: Integer; Y: Integer);

Refresh;


procedure WMHScroll(var M: TWMHScroll);


procedure WMSize(var M: TWMSize);


procedure WMVScroll(var M: TWMVScroll);


Properties


property Align :


property BackgroundBitmap : TBitmap


property BackgroundStyle : TBackgroundStyle


property BorderStyle : TBorderStyle


property Color : TColor


property Font : TFont

Published declarations


property HelpContext :


property HideScrollBars : Boolean


property Lines : TStrings


property SelectColor : TColor


property ShowPages : Boolean


property TabStop :


property TextColor : TColor


Events


event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnLinkClicked : TSVLinkEvent


event OnStartDrag :

property OnKeyDown: TKeyEvent read FOnKeyDown write FOnKeyDown; property OnKeyUp: TKeyEvent read FOnKeyUp write FOnKeyUp; property OnKeyPress: TKeyPressEvent read FOnKeyPress write FOnKeyPress; property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown; property OnMouseUp: TMouseEvent read FOnMouseUp write FOnMouseUp; property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;


Variables


AnsiBackGround : TColor;


AnsiColor : TColor;


FFont : TFont;


FLines : TStrings;


IsJump : boolean;


JmpStr : string;


maxstrlen : longint;

Public declarations


PageCount : integer;


Bold : boolean;


Border : TBorderStyle;


CanMark : Boolean;


crMyCurs : TCursor;


FBackBitmap : TBitmap;


FBackgroundStyle : TBackgroundStyle;


FCharSize : TPoint;


FClientSize : TPoint;


FColor : TColor;


fdx : integer;

FSelWords: TStrings;


fdy : integer;


FHideScrollBars : Boolean;


FileLoaded : Boolean;


FonKeyDown : TKeyEvent;


FOnKeyPress : TKeyPressEvent;


FOnKeyUp : TKeyEvent;


FOnLink : TSVLinkEvent;


FOnMouseDown : TMouseEvent;


FOnMouseMove : TMouseMoveEvent;


FOnMouseUp : TMouseEvent;


FOrigin : TPoint;


FOverhang : longint;


FPageSize : longint;


FRange : TPoint;


FSelColor : TColor;


FShowPages : Boolean;


FTextColor : TColor;


FullRedraw : Boolean;


Marked : Boolean;


Marking : Boolean;


maxlen : longint;


Mkc0 : integer;


Mkc1 : integer;


Mkc2 : integer;


MkL0 : integer;


MkL1 : integer;


MkL2 : integer;


MyCursor : Integer;


NumLinks : integer;

Links: array[1..1000] of TSVLinkPtr;


OldHeight : Integer;


OldWidth : Integer;


scx : longint;


TextAttr : word;

Private declarations


TruncateLines : boolean;


XSize : Integer;


YSize : Integer;