Mudando a cor do componente atual

Usando-se o método OnActiveControlChange de Screen, pode-se determinar quando um controle é ativado, alterando sua cor. Para isso, é necessário criar um método, como se vê asseguir:

procedure controlchange(Sender: TObject);

Uma vez declarado, deve-se ainda declarar uma variável que armazenará o componente antigo e uma para armazenar a cor desejada, na parte private da Form:

componente : TComponent;

cor : TColor;

Em seguida, deve-se associar o método ao evento OnActiveControlChange no evento OnCreate da Form e limpá-lo no evento OnDestroy:

procedure TForm1.Oncreate(Sender: TObject);

begin

Screen.OnActiveControlChange := ControlChange(Sender);

end;

procedure TForm1.OnDestroy(Sender: TObject);

begin

Screen.OnActiveControlChange := nil;

end;

Agora vamos ao método ControlChange propriamente dito:

procedure TForm1.ControlChange(Sender: TObject);

begin

// verifica se o componente atual não está ativo e colocar a cor padrão do windows

if Assigned(componente) then

begin

if componente is TEdit then

(componente as TEdit).color := clWindow;

if componente is TMemo then

(componente as TMemo).color := clWindow;

….

end;

// verifica se o componente atual esta ativo e muda a cor para a cor escolhida

if ActiveControl is TEdit then

begin

TEdit(ActiveControl).Color := cor;

componente := TEdit(ActiveControl);

end

else

if ActiveControl is TMemo then

begin

TMemo(ActiveControl).Color := cor;

end

else

if ActiveControl ……

begin

end

else

componente := nil;

end;

Agora quando estiver cadastrando ou alterando algum campo no formulário, pode-se usar cores diferentes para cada ação. Ex.:

…..

if novo then

cor := clMoneyGreen

else

cor := clBlue;

…….

Espero ter ajudado mais um pouco.

Até a próxima.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: