FGarcia
07-05-2007, 00:34:46
Saludos:
Con el siguiente codigo cambio el color de fondo de un DBEdit cada vez que ingreso (ENTER) a el o salgo (EXIT) del mismo
//Asignamos color al DBEdit
procedure TfrmClientes.DBEdit1Enter(Sender: TObject);
var ColorOrigen: TColor;
begin
ColorOrigen := DBEdit1.Color ;
DBEdit1.Color := clSkyBlue;
end;
//Restauramos el color del DBEdit;
procedure TfrmClientes.DBEdit1Exit(Sender: TObject);
var ColorOrigen: TColor;
begin
DBEdit1.Color := ColorOrigen;
end;
No quiero repetir este codigo para 20 edits, ok Delphi me permite asignar el evento OnEnter y OnExit al DBEdit1 y despues se lo puedo asignar a los demas DBEdit pero esto no funciona porque (eso creo) hago referencia en especifico a un DBEdit en este caso DBEdit1.
si creo algo como esto:
procedure TfrmClientes.ColorEnter;
var
Cnt: integer;
ColorOrigen: TColor;
begin
for Cnt := 0 to Pred(ComponentCount) do
begin
if Components[Cnt] is TDBEdit then
begin
ColorOrigen := TDBEdit(Components[Cnt]).Color;
TDBEdit(Components[Cnt]).Color := clSkyBlue;
end;
end;
end;
procedure TfrmClientes.ColorExit;
var
Cnt: integer;
ColorOrigen: TColor;
begin
for Cnt := 0 to Pred(ComponentCount) do
begin
if Components[Cnt] is TDBEdit then
TDBEdit(Components[Cnt]).Color := ColorOrigen;
end;
end;
procedure TfrmClientes.DBEdit1Enter(Sender: TObject);
begin
ColorEnter;
end;
procedure TfrmClientes.DBEdit1Exit(Sender: TObject);
begin
ColorExit;
end;
Entonces todos los DBEdit se colorean simultaneamente, en algo me perdi, se agradece la ayuda.
Con el siguiente codigo cambio el color de fondo de un DBEdit cada vez que ingreso (ENTER) a el o salgo (EXIT) del mismo
//Asignamos color al DBEdit
procedure TfrmClientes.DBEdit1Enter(Sender: TObject);
var ColorOrigen: TColor;
begin
ColorOrigen := DBEdit1.Color ;
DBEdit1.Color := clSkyBlue;
end;
//Restauramos el color del DBEdit;
procedure TfrmClientes.DBEdit1Exit(Sender: TObject);
var ColorOrigen: TColor;
begin
DBEdit1.Color := ColorOrigen;
end;
No quiero repetir este codigo para 20 edits, ok Delphi me permite asignar el evento OnEnter y OnExit al DBEdit1 y despues se lo puedo asignar a los demas DBEdit pero esto no funciona porque (eso creo) hago referencia en especifico a un DBEdit en este caso DBEdit1.
si creo algo como esto:
procedure TfrmClientes.ColorEnter;
var
Cnt: integer;
ColorOrigen: TColor;
begin
for Cnt := 0 to Pred(ComponentCount) do
begin
if Components[Cnt] is TDBEdit then
begin
ColorOrigen := TDBEdit(Components[Cnt]).Color;
TDBEdit(Components[Cnt]).Color := clSkyBlue;
end;
end;
end;
procedure TfrmClientes.ColorExit;
var
Cnt: integer;
ColorOrigen: TColor;
begin
for Cnt := 0 to Pred(ComponentCount) do
begin
if Components[Cnt] is TDBEdit then
TDBEdit(Components[Cnt]).Color := ColorOrigen;
end;
end;
procedure TfrmClientes.DBEdit1Enter(Sender: TObject);
begin
ColorEnter;
end;
procedure TfrmClientes.DBEdit1Exit(Sender: TObject);
begin
ColorExit;
end;
Entonces todos los DBEdit se colorean simultaneamente, en algo me perdi, se agradece la ayuda.