[Lazarus-es] cambiar color de un edit

Ulises Díaz UDIAZ60 en hotmail.com
Lun Ene 16 18:05:37 CET 2017


Hola


Puedes usar el evento OnExit para asignarle el color blanco, en ese evento llamas un procedimiento que haga ese trabajo.



Por ejemplo, porcedimiento para cambiar color:

procedure FColorDefecto(Control: TObject);
var
begin

 if (Control is TEdit) then
   begin
    TEdit(Control).Color := clWhite;
  end;
end;

//Procedimiento para el control activo
procedure FColorActivo(Control: TObject);
var
begin

 if (Control is TEdit) then
   begin
    TEdit(Control).Color := clGreen;
  end;
end;


Ahora usando los eventos  OnEnter y ONExit asignamos los colores.

procedure TForm1.Edit2Enter(Sender: TObject);
begin
  FColorActivo(Sender);
end;

procedure TForm1.Edit2Exit(Sender: TObject);
begin
  FColorDefecto(Sender);
end;


O se pueden usar los eventos directamente:

procedure TForm1.Edit2Enter(Sender: TObject);
begin
  (Sender as tedit).Color := clGreen;
// o edit2.color := clGreen;
end;

procedure TForm1.Edit2Exit(Sender: TObject);
begin
  (Sender as tedit).Color := clWhite;
end;

La desventaja de este método es que si hay muchos controles es dispendioso usar todos esos eventos, además por cada control nuevo que se adicione toca modificar los eventos.

Espero que esta u otra alternativa que han presentado los compañeros sea utilidad para usted.


Saludos desde Colombia


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170116/1e6eaacc/attachment-0001.html>


Más información sobre la lista de distribución Lazarus-es