Mudando Cores: onEnter e OnExit - Delphi
Veja neste artigo como podemos modificar as cores quando entrarmos ou sairmos de um determinado componente. Observe que esta é a maneira mais simples de se fazer, existem outras maneiras também.
Olá amigos. O objetivo do artigo é ensinar a você, como colocar cor de fundo nos componentes em tela.
Vamos iniciar abrindo o Delphi e criando uma nova aplicação, feito isto iremos colocar três TEdit e um TMemo no formulário, onde será mostrada a cor de fundo em cada um deles. A imagem abaixo mostra uma sugestão de tela:
Vamos a unit do formulário declarar duas procedures que ficará dentro do private, a primeira procedure chamaremos de DoEnterClick(Sender : TObject) e implementa-la com SHIFT+CTRL+C, a segunda procedure chamaremos de DoExit(Sender : TObject) e implementa-la com SHIFT+CTRL+ C , essas procedures irão simular o evento OnEnter e OnExit de cada TEdit e TMemo para que isto não seje feito em cada componente em tela. Como segue no código abaixo:
Listagem 1: Criação dos métodos
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure DoEnter(Sender : TObject);
procedure DoExit(Sender : TObject);
public
{ Public declarations }
end;
Feito isto, vamos a implementação das procedures DoEnter e DoExit Como Segue o código abaixo:
Listagem 2: DoEnter
procedure TForm1.DoEnter(Sender: TObject);
begin
if (Sender is TEdit)then
begin
TEdit(Sender).Color := clYellow;
end
else
if (Sender is TMemo) then
begin
TMemo(Sender).Color := clYellow;
end;
end;
Listagem 3: DoExit
procedure TForm1.DoExit(Sender: TObject);
begin
if (Sender is TEdit)then
begin
TEdit(Sender).Color := clWindow;
end
else
if (Sender is TMemo) then
begin
TMemo(Sender).Color := clWindow;
end;
end;
Agora no OnCreate do nosso formulário, vamos implementar como mostra o código abaixo fazendo a varredura dos componentes em tela para ser atribuída a cor:
Listagem 4: FormCreate
procedure TForm1.FormCreate(Sender: TObject);
var
I : Integer;
begin
for I := 0 to ComponentCount - 1 do
begin
if (Components[I] is TEdit) then
begin
(Components[I] as TEdit).OnEnter := DoEnterClick;
(Components[I] as TEdit).OnExit := DoExit;
end
else
if (Components[I] is TMemo) then
begin
(Components[I] as TMemo).OnEnter := DoEnterClick;
(Components[I] as TMemo).OnExit := DoExit;
end;
end;
end;
Aprenda mais sobre Delphi
- Gerenciando a mudança de abas em aplicativos móveis no Delphi
- ListBox e ListView: Listagem de dados em aplicações mobile
- Testes Unitários com DUnit
- Aprendizagem de máquina com Intelligence Lab
É isto, teste sua aplicação e veja se esta sendo atribuída a cor a cada componente que for passado. Vou ficando por aqui pessoal até a próxima.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo