Ver Mensaje Individual
  #5  
Antiguo 23-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Coincido con lo que te han sugerido dec y luisgutierrezb.

Probá de este modo:
Código Delphi [-]
procedure ComponentsColorDataSetStatus(myState:TDataSetState; AControl: TControl);
var
  i:Integer;
  myColor:TColor;
begin
  myColor:= clWhite;
  Case myState of
    dsInactive: myColor := clGray;
    dsBrowse  : myColor := clWindow;
    dsEdit    : myColor := $00B7DBFF;
    dsInsert  : myColor := $00C5DEC9;
  end;
  if AControl is TForm then
    with TForm(AControl) do
      for i:= 0 to ComponentCount -1 do
      begin
        if Components[i] is TDBEdit then
          TDBEdit(Components[i]).Color := myColor;
        ...
      end;
  if AControl is TFrame then
    with TFrame(AControl) do
      for i:= 0 to ComponentCount -1 do
      begin
        if Components[i] is TDBEdit then
          TDBEdit(Components[i]).Color := myColor;
        ...
      end;
end;

Llamadas:
Código Delphi [-]
  ...
  ComponentsColorDataSetStatus(DataSet.State, Form1);
  ComponentsColorDataSetStatus(DataSet.State, Frame1);
No uso los componentes Tcx, por lo que tendrías que probar si el código funciona con ellos, aunque supongo que debería...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 24-09-2011 a las 01:12:24.
Responder Con Cita