home *** CD-ROM | disk | FTP | other *** search
- unit Main;
-
- { Copyright (c) 1995 by Charlie Calvert }
- { Project Name: Edits }
-
- { This is just an exercise in dynamically creating
- fonts and edit controls.
-
- Shows how to work with selections of text
-
- When using the program, create the edit control,
- select some text, and press show selection. }
-
- interface
-
- uses
- WinTypes, WinProcs, StdCtrls,
- Classes, Graphics, Dialogs,
- Controls, Forms, ExtCtrls;
-
- type
- TForm1 = class(TForm)
- CreateEd: TButton;
- Edit1: TEdit;
- Edit2: TEdit;
- Label1: TLabel;
- Label2: TLabel;
- ShowSel: TButton;
- Edit3: TEdit;
- Label3: TLabel;
- Panel1: TPanel;
- BoldBox: TCheckBox;
- procedure CreateEdClick(Sender: TObject);
- procedure ShowSelClick(Sender: TObject);
- procedure BoldBoxClick(Sender: TObject);
- procedure MyEditKeyPress(Sender: TObject; var Key: Char);
- private
- MyEdit: TEdit;
- MyFont: TFont;
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- function Int2Str(i: Integer): String;
- var
- S: String;
- begin
- Str(i, S);
- result := S;
- end;
-
- procedure TForm1.CreateEdClick(Sender: TObject);
- begin
- MyFont := TFont.Create;
- MyFont.Name := 'New Times Roman';
- MyFont.Size := 25;
- MyFont.Color := clGreen;
-
- MyEdit := TEdit.Create(Form1);
- MyEdit.Parent := Form1;
- MyEdit.SetFocus;
- MyEdit.SetBounds(10, 10, 190, 45);
- MyEdit.Color := clBlue;
- MyEdit.Ctl3d := True;
- MyEdit.Text := 'Samantha';
- MyEdit.ReadOnly := True;
- MyEdit.Cursor := CrCross;
- MyEdit.OnKeyPress := MyEditKeyPress;
- MyEdit.SelStart := 2; { Tab to it to see it}
- MyEdit.SelLength := 3;
- MyEdit.Font := MyFont;
-
- BoldBox.Enabled := True;
- ShowSel.Enabled := True;
- CreateEd.Enabled := False;
- end;
-
- procedure TForm1.ShowSelClick(Sender: TObject);
- var
- Start, Len: Integer;
- begin
- if MyEdit = nil then Exit;
- Start := MyEdit.SelStart;
- Len := MyEdit.SelLength;
- Edit1.Text := Int2Str(Start);
- Edit2.Text := Int2Str(Len);
- Edit3.Text := MyEdit.SelText;
- end;
-
- procedure TForm1.BoldBoxClick(Sender: TObject);
- begin
- if BoldBox.Checked then
- MyEdit.Font.Style := [fsBold, fsItalic]
- else
- MyEdit.Font.Style := [];
- end;
-
- { Check to see if user pressed enter in control }
- procedure TForm1.MyEditKeyPress(Sender: TObject; var Key: Char);
- begin
- if Key = #13 then begin
- Key := #0;
- MessageDlg(Edit1.Text, mtInformation, [mbOk], 0);
- end;
- end;
-
- end.
-