Olá galera, nesta Quick Tips, irei mostrar, basicamente, como podemos modificar nossos componentes do Delphi, como por exemplo, modificar uma cor ao entrar em uma Edit, e voltar a uma cor padrão ao sair do mesmo.

 

Vamos inicialmente criar uma unit, e salvar a mesma como EditTunning.pas .

 

Na mesma vamos agora declarar a Classe TEdit, e posteriormente os métodos DoEnter, e DoExit

 

unit EditTunning;

interface

    uses StdCtrls, Graphics;

type

    TEdit = class(StdCtrls.TEdit)

    private

        FOldColor: TColor;

    protected

        procedure DoEnter; override;  { Estamos reescrevendo o método DoEnter, para adaptar de acordo com a nossa necessidade}

        procedure DoExit; override;  { Estamos reescrevendo o método DoExit, para adaptar de acordo com a nossa necessidade}

    end;

 

    implementation

 

{ TEdit }

procedure TEdit.DoEnter;

begin

    inherited;

   { Observe a variável/field FOldColor, onde ela guarda a cor anterior  }

    FOldColor := Color;

   { Observe neste ponto dizemos que a cor ao entrar no Edit será clYellow }

    Color := clYellow;

end;

 

procedure TEdit.DoExit;

begin

    inherited;

   { Observe a cor agora irá receber o conteúdo da variável/field FOldColor }

    Color := FOldColor;

end;

 

end.

 

Como usar então agora nosso EditTunning?

            Simplesmente adicionar a Uses, no Formulário onde deseja ter este controle, e automaticamente ao entrar em um controle da Classe TEdit, o mesmo irá se comportar de acordo com a implementação do seu método DoEnter, assim como para o DoExit, porém precisamos dar uma “pernada” no compilador do Delphi, como ?.

 

            Vejamos como é simples, ao incluir um Edit, e compilar o projeto, você verá que o mesmo se encarrega de dar uses em StdCtrls, unit esta que contém a classe TEdit. Até ai nenhum mistério. O uses é dado pelo Delphi. Vejamos agora ao adicionar a uses o nosso TEditTunning.

 

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, EditTunning, StdCtrls;

 

            Da maneira que esta, o Delphi não fará diferença ao executar, teste para ver, e entender melhor o exemplo.

 

Agora da maneira correta.

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls , EditTunning;

 

            Esta pernada explicasse que o Delphi interpreta as propriedades da última classe declarada, sendo assim ao incluirmos o EditTunning antes de StdCtrls, não vemos diferença, agora ao invertemos, a mágica acontece.

 

Obs: Adicione 2 edits para ver o exemplo funcionando

 

 

Dica de onde usar isso!

            Já fiz projetos logo no início, onde colocava códigos absurdos para poder mudar a cor de um simples Edit, obviamente muitos passaram por isso, ou alguns estão ainda passando. Concluindo, serve para evitar aquela repetição de código para mudar a cor de Edit, ao receber o foco, bem prático e simples.

 

Fico por aqui ate à próxima Quick Tips.

 

Um abraço

 

 

Wesley Y

wyamazack@rwsolution.com.br