Discussion:
Mudar de cor ao entra e ao sai de um Edit ou dbedit
izaias gomes bezerra gomes
2011-10-03 20:19:40 UTC
Permalink
Boa tarde a todos,

amigos esto tentando fazer uma procedure quando o usuario entra no campo
ele mude a cor e ao sai volte a cor de origem fiz desse jeito:

private
CompAnt : TEdit;
//Muda cor dos componentes ao entrar e ao sair
procedure ControlChange(Sender: TObject);

depois cria este procedimento:

procedure Tfrm_senha.ControlChange(Sender: TObject);
begin
if Assigned(CompAnt) then begin
CompAnt.Color := clWindow;
CompAnt.Font.Color := clWindowText;
end;
if (ActiveControl is TEdit) or
//(ActiveControl is TMemo) or
(ActiveControl is TMaskEdit)
// (ActiveControl is TMaskEdit) or
//(ActiveControl is TDBEdit) or
//(ActiveControl is TDBMemo)
// (ActiveControl is TDateTimePicker)
then begin
TEdit(ActiveControl).Color := clGreen;
TEdit(ActiveControl).Font.Color := clWhite;
CompAnt := TEdit(ActiveControl);
end else CompAnt := nil;
if (ActiveControl is TDBLookupComboBox) then
TDBLookupComboBox(ActiveControl).DroppedDown:=True;
end;

depois apago da memoria assim:
procedure Tfrm_senha.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Screen.OnActiveControlChange := Nil;
end;

chamo este procedimento no activate do formulario

procedure Tfrm_senha.FormActivate(Sender: TObject);
begin
Screen.OnActiveControlChange := ControlChange;
end;

mais esta me dando este erro quando tendo executar o sistema:

ufrmsenha.pas(208,47) Error: Wrong number of parameters specified for call
to "ControlChange"

alguém poderia me ajuda
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
lazarus-br-/***@public.gmane.org
Para cancelar a sua inscrição neste grupo, envie um e-mail para
lazarus-br+unsubscribe-/***@public.gmane.org
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
Daniel Gaspary
2011-10-03 20:23:50 UTC
Permalink
Não tentou usar somente os eventos OnEnter e OnExit ?

Se tentou qual problema houve ?
   Boa tarde a todos,
   amigos esto tentando fazer uma procedure quando o usuario entra no campo
   private
    CompAnt : TEdit;
    //Muda cor dos componentes ao entrar e ao sair
    procedure ControlChange(Sender: TObject);
procedure Tfrm_senha.ControlChange(Sender: TObject);
begin
   if Assigned(CompAnt) then begin
   CompAnt.Color := clWindow;
   CompAnt.Font.Color := clWindowText;
   end;
   if (ActiveControl is TEdit) or
   //(ActiveControl is TMemo) or
   (ActiveControl is TMaskEdit)
//   (ActiveControl is TMaskEdit) or
   //(ActiveControl is TDBEdit) or
   //(ActiveControl is TDBMemo)
//   (ActiveControl is TDateTimePicker)
   then begin
   TEdit(ActiveControl).Color := clGreen;
   TEdit(ActiveControl).Font.Color := clWhite;
   CompAnt := TEdit(ActiveControl);
   end else CompAnt := nil;
   if (ActiveControl is TDBLookupComboBox) then
TDBLookupComboBox(ActiveControl).DroppedDown:=True;
end;
procedure Tfrm_senha.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Screen.OnActiveControlChange := Nil;
end;
chamo este procedimento no activate do formulario
procedure Tfrm_senha.FormActivate(Sender: TObject);
begin
Screen.OnActiveControlChange := ControlChange;
end;
ufrmsenha.pas(208,47) Error: Wrong number of parameters specified for call
to "ControlChange"
alguém poderia me ajuda
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
Para cancelar a sua inscrição neste grupo, envie um e-mail para
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
lazarus-br-/***@public.gmane.org
Para cancelar a sua inscrição neste grupo, envie um e-mail para
lazarus-br+unsubscribe-/***@public.gmane.org
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
izaias gomes bezerra gomes
2011-10-03 20:38:57 UTC
Permalink
Não fiz este procedimento para usar em todos os formularios do sistema
Post by Daniel Gaspary
Não tentou usar somente os eventos OnEnter e OnExit ?
Se tentou qual problema houve ?
Post by izaias gomes bezerra gomes
Boa tarde a todos,
amigos esto tentando fazer uma procedure quando o usuario entra no
campo
Post by izaias gomes bezerra gomes
private
CompAnt : TEdit;
//Muda cor dos componentes ao entrar e ao sair
procedure ControlChange(Sender: TObject);
procedure Tfrm_senha.ControlChange(Sender: TObject);
begin
if Assigned(CompAnt) then begin
CompAnt.Color := clWindow;
CompAnt.Font.Color := clWindowText;
end;
if (ActiveControl is TEdit) or
//(ActiveControl is TMemo) or
(ActiveControl is TMaskEdit)
// (ActiveControl is TMaskEdit) or
//(ActiveControl is TDBEdit) or
//(ActiveControl is TDBMemo)
// (ActiveControl is TDateTimePicker)
then begin
TEdit(ActiveControl).Color := clGreen;
TEdit(ActiveControl).Font.Color := clWhite;
CompAnt := TEdit(ActiveControl);
end else CompAnt := nil;
if (ActiveControl is TDBLookupComboBox) then
TDBLookupComboBox(ActiveControl).DroppedDown:=True;
end;
TCloseAction);
Post by izaias gomes bezerra gomes
begin
Screen.OnActiveControlChange := Nil;
end;
chamo este procedimento no activate do formulario
procedure Tfrm_senha.FormActivate(Sender: TObject);
begin
Screen.OnActiveControlChange := ControlChange;
end;
ufrmsenha.pas(208,47) Error: Wrong number of parameters specified for
call
Post by izaias gomes bezerra gomes
to "ControlChange"
alguém poderia me ajuda
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
Para cancelar a sua inscrição neste grupo, envie um e-mail para
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
Para cancelar a sua inscrição neste grupo, envie um e-mail para
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
lazarus-br-/***@public.gmane.org
Para cancelar a sua inscrição neste grupo, envie um e-mail para
lazarus-br+unsubscribe-/***@public.gmane.org
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
Luiz Americo Pereira Camara
2011-10-04 01:12:16 UTC
Permalink
Em 3 de outubro de 2011 17:19, izaias gomes bezerra gomes <
Post by izaias gomes bezerra gomes
procedure Tfrm_senha.FormActivate(Sender: TObject);
begin
Screen.OnActiveControlChange := ControlChange;
Screen.OnActiveControlChange := @ControlChange;

Luiz
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
lazarus-br-/***@public.gmane.org
Para cancelar a sua inscrição neste grupo, envie um e-mail para
lazarus-br+unsubscribe-/***@public.gmane.org
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
izaias gomes bezerra gomes
2011-10-04 10:17:30 UTC
Permalink
Novamente muito obrigado !!!!!!!!!!!! pela ajuda

Em 3 de outubro de 2011 22:12, Luiz Americo Pereira Camara <
Post by Luiz Americo Pereira Camara
Em 3 de outubro de 2011 17:19, izaias gomes bezerra gomes <
Post by izaias gomes bezerra gomes
procedure Tfrm_senha.FormActivate(Sender: TObject);
begin
Screen.OnActiveControlChange := ControlChange;
Luiz
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
Para cancelar a sua inscrição neste grupo, envie um e-mail para
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
--
Você recebeu esta mensagem porque está inscrito no Grupo "Lazarus-BR"
nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
lazarus-br-/***@public.gmane.org
Para cancelar a sua inscrição neste grupo, envie um e-mail para
lazarus-br+unsubscribe-/***@public.gmane.org
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/lazarus-br?hl=pt-BR
Loading...