unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    Function Add(const A:integer; const B:integer):integer;
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
end;Function Tform1.Add(const A:integer; const B:integer):integer;
begin
result := A+B ;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
X,Y:integer;
begin
 if (edit1.Text = '') and (edit2.Text = '') then
   begin
  edit1.Text := '请在此区域内输入数字!';
  edit2.Text := '请在此区域内输入数字!';
  edit1.Color := clred;
  edit2.Color := clred;
  exit
  end;
 if (edit1.Text = '')then
   begin
  edit1.Text := '请在此区域内输入数字!';
  edit1.Color := clred;
  exit
  end;
   if (edit2.Text = '') then
   begin
  edit2.Text := '请在此区域内输入数字!';
  edit2.Color := clred;
  exit
 end;
 X  :=  strtoint(edit1.Text);
 Y  :=  strtoint(edit2.Text);
 edit3.Text := inttostr(add(x,y));
 end;
end.
=====================================================
begin
 if (edit1.Text = '') and (edit2.Text = '') then
   begin
  edit1.Text := '请在此区域内输入数字!';//(((这不是没有输入数字直接按启动了,提示'请在此区域内输入数字!'了吗?怎样用输入一点击就颜色回到白色状态和里面文字自动删除啊?)))
  edit2.Text := '请在此区域内输入数字!';;//(((这不是没有输入数字直接按启动了,提示'请在此区域内输入数字!'了吗?怎样用输入一点击就颜色回到白色状态和里面文字自动删除啊?)))
  edit1.Color := clred;
  edit2.Color := clred;
  exit
  end;
 if (edit1.Text = '')then
   begin
  edit1.Text := '请在此区域内输入数字!';(((这不是没有输入数字直接按启动了,提示'请在此区域内输入数字!'了吗?怎样用输入一点击就颜色回到白色状态和里面文字自动删除啊?)))
  edit1.Color := clred;
  exit
  end;
   if (edit2.Text = '') then
   begin
  edit2.Text := '请在此区域内输入数字!';(((这不是没有输入数字直接按启动了,提示'请在此区域内输入数字!'了吗?怎样用输入一点击就颜色回到白色状态和里面文字自动删除啊?)))
  edit2.Color := clred;
  exit
 end;
  意思就是说,你没有在编辑框1和2里输入数字该显示红色提示..怎样用鼠标一点编辑框1和2这里面的红色提示和文字自动删除!!给个代码.谢谢delphi高手了.我是菜鸟..多谢!

解决方案 »

  1.   

    edit1.Text = ''
    edit2.Text = ''
    或者
    edit1.Clear;
    edit2.Clear;
      

  2.   

    在edit控件的onclick或onmousedown控件中写代码procedure TForm1.Edit1Click(Sender: TObject);
    begin
      self.Edit1.Text:='';
      self.Edit1.Font.Color:=clWindow;
    end;
    或者
    procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      self.Edit1.Text:='';
      self.Edit1.Font.Color:=clWindow;
    end;
      

  3.   


    procedure TForm1.Edit1Click(Sender: TObject);
    begin
      Edit1.Clear;
      Edit1.Color:= clWindow;
    end;
      

  4.   

    3楼和4楼的你们理解错误了
    我想的是edit1和edit2没有输入数字,出现提示了.怎样用鼠标一点击edit1和edit2后里面的文字就自动删除.就像你输入QQ密码一样.密码输入错误.你再用鼠标点击QQ密码,原来的QQ密码就自动删除了..怎样做到这一点啊?
      

  5.   

    我也不知道楼主想表达什么,描述有点不清不楚。
    清楚文字确实如楼上那几位说的一样,赋个空字符串值或者Clear方法。
    如果你想达到某些效果,你就加个if来判断。
    例如
    procedure TForm1.Edit1Click(Sender: TObject);
    begin
    if edit1 edit1.Text = '请在此区域内输入数字!' then
    begin
      Edit1.Clear;
      Edit1.Color:= clWindow;
    end;
    end;
      

  6.   

    意思就是edit1和edit2没有输入数字,就该出现提示了!这样的话怎样用鼠标一点击edit1和edit2后里面的文字就自动删除.就像你输入QQ密码一样.密码输入错误.你再用鼠标点击QQ密码,原来的QQ密码就自动删除了..怎样做到这一点啊?
      

  7.   

    这是鼠标点中输入框发现不是数字就清空的代码
    procedure TForm1.Edit1Click(Sender: TObject);
    var Value: Double; Code: Integer;
    begin
      Val(edit1.text, Value, Code);
      if Code<>0 then
      begin
        Edit1.Clear;
        Edit1.Color:= clWindow;
      end;
    end;如果你不想给人加输入数字意外的东西,你就在KeyPress事件加入一句
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if not(key in ['0'..'9'],#8) then key:=#0;
    end;
      

  8.   

    if not(key in ['0'..'9'],#8) then key:=#0;//这一句#8不能成功!
    ==================== 
    Val(edit1.text, Value, Code);
      if Code<>0 then
      begin
      Edit1.Clear;
      Edit1.Color:= clWindow;
      end;//这个一运行就出现错误!
      

  9.   

    不好意思
    >if not(key in ['0'..'9'],#8) then key:=#0;//这一句#8不能成功!
    #8是后面加上去,是退格的意思,放错位置了,应该放在中括号里面,如下
    if not (key in ['0'..'9',#8]) then key:=#0;
    你可能放多了个end;
    你试试删除一个END;