unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DXClass, DXDraws,intf;


type
  TForm1 = class(TForm)
    DXDraw: TDXDraw;
    DXTimer: TDXTimer;
    il: TDXImageList;
    procedure DXTimerTimer(Sender: TObject; LagCount: Integer);
    procedure FormCreate(Sender: TObject);
    procedure DXDrawMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
procedure EditChange(Sender: TObject);
  end;

var
  Form1: TForm1;
  Edit1:TdxWEdit;
implementation

{$R *.dfm}

procedure TForm1.EditChange(Sender: TObject);
begin
if lowercase(TdxwEdit(sender).text)='exit' then
close;
end;


procedure TForm1.DXTimerTimer(Sender: TObject; LagCount: Integer);
begin
if not dxdraw.CanDraw then exit;
fsurface:=dxdraw.Surface;
dxdraw.Surface.Fill(0);
Edit1.DoDraw;
dxdraw.Flip;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
fsurface:=dxdraw.Surface;
il.Items.MakeColorTable;
dxdraw.DefColorTable:=il.Items.ColorTable;
dxdraw.ColorTable:=il.Items.ColorTable;
edit1:=Tdxwedit.Create(form1);
With Edit1 do
   begin
    Name:='Edit1';
    Image := il.Items.Find('Btn');
    Font.Style:=[fsbold];
    Font.Color := clYellow;
    Font.Size := 18;
    Font.Name:='Times New Roman';
    Left := 200;
    Top := 270;
    width:=image.Width;
    height:=image.Height;
    OnChange:=EditChange;
    Text:='Наберите EXIT';
    focused:=true;
   end;
end;

procedure TForm1.DXDrawMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if ptinrect(edit1.BoundsRect,mouse.CursorPos) then
begin
edit1.Font.Style:=[fsBold];
edit1.Font.Color:=clWhite;
edit1.Focused:=true;
end else
begin
edit1.Font.Style:=[];
edit1.Font.Color:=clYellow;
edit1.Focused:=false;
end;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
edit1.KeyDown(key,shift);
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
edit1.KeyPress(key);
end;

end.
