Fiz isso, e não funcionou... no oncreate quando roda a funcao para trocar de 
cor parece q ele elimina o onexit do campo e atribiu a procedure foco no lugar, 
estranho isso

Ats

Eduardo


  ----- Original Message ----- 
  From: Darkzad 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Friday, April 17, 2009 10:01 AM
  Subject: Re: [delphi-br] Problema com Form Herdado





  Eduardo Savoine escreveu:
  >
  >
  > Encontrei onde esta dando problema, criei uma procedure chamada FOCO 
  > para mudar o Foco no item que estiver no foco
  >
  > Se eu removo do ONCREATE ele funciona normal o exit do componente, mas 
  > como faço para continuar usando esse metodo de foco?
  >
  > Codigo:
  >
  > procedure TFPADRAO020.Foco(Sender: TObject);
  > var
  > I: integer;
  > Ed: TEdit;
  > dbEd: TDBEdit;
  > dbMm: TDBMemo;
  > dbLkp: TDBLookupComboBox;
  > begin
  > for I := 0 to ComponentCount - 1 do begin
  > if Components[I] is TEdit then begin
  > Ed := Components[I] as TEdit;
  > if Ed.Focused then Ed.Color := clBtnFace
  > else Ed.Color := clWhite;
  > end;
  > if Components[I] is TDBEdit then begin
  > dbEd := Components[I] as TDBEdit;
  > if dbEd.Focused then dbEd.Color := clBtnFace
  > else dbEd.Color := clWhite;
  > end;
  > if Components[I] is TDBMemo then begin
  > dbMm := Components[I] as TDBMemo;
  > if dbMm.Focused then dbMm.Color := clBtnFace
  > else dbMm.Color := clWhite;
  > end;
  > if Components[I] is TDBLookupComboBox then begin
  > dbLkp := Components[I] as TDBLookupComboBox;
  > if dbLkp.Focused then dbLkp.Color := clBtnFace
  > else dbLkp.Color := clWhite;
  > end;
  > end;
  > end;
  >
  > e no ONCREATE do Formulario esta assim:
  >
  > procedure TFPADRAO020.FormCreate(Sender: TObject);
  > var
  > I:integer;
  > begin
  > for I := 0 to ComponentCount - 1 do begin
  > if Components[I] is TEdit then
  > (Components[I] as TEdit).OnExit := Foco;
  > if Components[I] is TDBEdit then
  > (Components[I] as TDBEdit).OnExit := Foco;
  > if Components[I] is TDBMemo then
  > (Components[I] as TDBMemo).OnExit := Foco;
  > if Components[I] is TDBLookupComboBox then
  > (Components[I] as TDBLookupComboBox).OnExit := Foco;
  > end;
  > end;
  >
  > Ats
  >
  > Eduardo
  >
  > Estou com o seguinte problema,
  >
  > Tenho um Form principal onde faco o padrao para todos os cadastros, 
  > porem quando eu crio outro form baseado nele, o Exit do campo TEDIT 
  > colocando no form herdado nao funciona, alguem tem alguma ideia do que 
  > pode ser?
  >
  > Ats
  >
  > Eduardo
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > 

  Questão de herança você deve colocar o comando *inherited;* antes ou 
  depois do código
  para o formulário buscar a herança do form herdado.

  Espero que ajude

  Valeu

  __________________________________________________
  Faça ligações para outros computadores com o novo Yahoo! Messenger 
  http://br.beta.messenger.yahoo.com/ 


  

[As partes desta mensagem que não continham texto foram removidas]

Responder a