在Edit的OnClick事件中写
Edit.Color:=clYellow

解决方案 »

  1.   

    OnClick:Edit.Color := clYellow;
      

  2.   

    如果我窗体上有30个edit呢?代码是不是显得有点儿......
    我曾经看到过用消息处理的方式来实现,可是就是找不到了。
      

  3.   

    而且还要让其他不是活动的Edit的背景都变为白色.
      

  4.   

    难道Tedit没有click事件吗?
    我的这台破机子没装delphi我也记不清了,不过我觉得应该还是有得。有click事件不是就可以了吗?
      

  5.   

    procedure  SetEditColor(Sender:TObject);
    begin
       for iCount:= 0 to ComponentCount - 1 do
       begin
           if Components[iCount] is TEdit then 
              TEdit(Components[iCount).Color := clYellow;
       end;
    end;
    把所有EDIT的OnClick事件都连到该过程即可
      

  6.   

    所有的edit用同意个click事件,通过改变sender的颜色来改变选中的edit值与其他的便会原色,那你就需要用一个全局变量保存最后一次的sender然后每次click的时候先改回来上次的sender。这样就可以了。
      

  7.   

    如果你要把sender当作tedit来用可以使用以下的语句
    (Sender as TEdit).Name := 'haha';
      

  8.   

    偶现在就用的Liusp(夜深千帐灯)的方法啊。
      

  9.   

    不需要保存最后一次的sender,在OnExit和OnEnter中处理就可以了。
      

  10.   

    如何使其余的Tedit的背景变为白色呢?
      

  11.   

      private
        { Private declarations }
        procedure EditEnter(Sender: TObject);
        procedure EditExit(Sender: TObject);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.EditEnter(Sender: TObject);
    begin
      TEdit(Sender).Color := clYellow;
    end;procedure TForm1.EditExit(Sender: TObject);
    begin
      TEdit(Sender).Color := clWindow;
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to ComponentCount - 1 do
        if Components[I] is TEdit then begin
          TEdit(Components[I]).OnEnter := EditEnter;
          TEdit(Components[I]).OnExit := EditExit;
        end;
    end;
      

  12.   

    procedure editenter(sender:tobject);
    begin
      (sennder as tedit).color:=clYellow;
    end;procedure editexit(sender:tobject);
    begin
      (sender as tedit).color:=clWhite;
    end;把所有EDIT的ONENTER事件指向 EDITENTER过程 ,ONEXIT事件指向 EDITEXIT过程.
      

  13.   

    用activecontrol as tedit不就搞定了,记什么sender
    procedure  SetEditColor;
    begin
      (activecontrol as tedit).color:=clyellow;
    end;