coloco uma cor aparece outra!

Delphi

26/03/2004

quando eu coloco color de um edit para clCream antes de ser compilado aparece uma cor, ai quando eu compilo e executo aparece outra!
que que eu faço?


Linhares

Linhares

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

26/03/2004

O que vc acabou de postar, amigo, eu testei e tambem ocorreu o mesmo problema. alguem sabe o que poderia ser !!!!!!


GOSTEI 0
Fabio.hc

Fabio.hc

26/03/2004

Tente assim:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.OnActiveControlChange := ColorControl;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Screen.OnActiveControlChange := nil;
end;

procedure TForm1.ColorControl(Sender: TObject);
var
  Cor: TColor;
  I: integer;
begin
   With Screen.ActiveForm do
      begin
      for I:= 0 to ComponentCount -1 do
         begin
         if Components[I] is TCustomEdit then
            begin
            Cor := clCream; // coloque a cor desejada.
            AtribuiProp(Components[I], ´Color´, IntToStr(Cor));
            end;
         end;
      end;
end;

procedure TForm1.AtribuiProp(Comp: TComponent; const PropName: string; Val: string);
var
  PInfo: PPropInfo;
begin
   PInfo := GetPropInfo(Comp.ClassInfo, PropName);
   if PInfo <> nil then
      begin
      // Trata conforme o tipo
      case PInfo^.Proptype^.Kind of
      tkInteger: SetOrdProp(Comp, PInfo, StrToInt(Val));
      tkChar, tkWChar: SetOrdProp(Comp, PInfo, ord(Val[1]));
      tkEnumeration: SetOrdProp(Comp, PInfo, GetEnumValue(PInfo^.PropType^, Val));
      tkFloat: SetFloatProp(Comp, PInfo, StrToFloat(Val));
      tkString, tkLString, tkWString: SetStrProp(Comp, PInfo, Val);
      tkVariant: SetVariantProp(Comp, PInfo, Val);
      tkInt64: SetInt64Prop(Comp, PInfo, StrToInt64(Val));
      else
      ShowMessage(´Este tipo não é suportado por este programa´);
      end;
      end
   else
      ShowMessage(´Propriedade não achada´);
end;



GOSTEI 0
Nildo

Nildo

26/03/2004

Tinha o mesmo problema com o clCream e o clBlueSky (ou SkyBlu nao lembro). mas sabem depois de quando comecou a dar esses problemas?

Depois que eu instalei a RxLib.


GOSTEI 0
Linhares

Linhares

26/03/2004

putz...eu tbm instalei rxlib


GOSTEI 0
Linhares

Linhares

26/03/2004

q q tu fez para voltar ao normal?? sem ser desinstalar o rxlib.


GOSTEI 0
Nildo

Nildo

26/03/2004

Uma vez eu tive que formatar meu HD e quando reinstalei o Delphi, nao instalei a RxLib.


GOSTEI 0
Dedi

Dedi

26/03/2004

Eu tenho instalado a Rxlib e a cor está normal.mas estou usando w98,+ Delphi6..... qual windows e delphi está usando?


Dedi.


GOSTEI 0
Nildo

Nildo

26/03/2004

Eu: w98 + Delphi6


GOSTEI 0
Linhares

Linhares

26/03/2004

winXP + delphi6


GOSTEI 0
Dedi

Dedi

26/03/2004

fiz um teste : em tempo de execução

Edit1.Color:=clCream;

a cor realmente não é a mesma....é mais clara.


GOSTEI 0
Linhares

Linhares

26/03/2004

entao...eh isso que acontecia comigo


GOSTEI 0
Dedi

Dedi

26/03/2004

então fiz assim:

Edit1.Color:=$009FC7EF;


e a cor se manteve.

Dedi.


GOSTEI 0
Dedi

Dedi

26/03/2004

Inclusive eu prefiro usar cores fixas e não do sistema,para evitar problemas entre xp e 98 ou quando usuário modifica a aparencia do windows.


GOSTEI 0
Rômulo Barros

Rômulo Barros

26/03/2004

Nildo Escreveu
Tinha o mesmo problema com o clCream e o clBlueSky (ou SkyBlu nao lembro). mas sabem depois de quando comecou a dar esses problemas? Depois que eu instalei a RxLib.


Utilizo Delphi 7.0 + XP e não tenho a droga da Rxlib instalada, entretanto, o erro ocorre comigo :P


GOSTEI 0
Beppe

Beppe

26/03/2004

Acredito que seja um problema de paleta, isto é, para cores tipo $AABBGGRR, onde AA <> 0.

Se a cor naum for da paleta do Windows mas tiver AA <> 0, entaum
isso dv funcionar
C and $ffffff;
onde C é uma variável ou uma constante TColor.


GOSTEI 0
POSTAR