Freedom 0 Denunciar post Postado Abril 22, 2006 Olá galera.Estou querendo fazer com que ao entrar no edit mude de cor e ao sair volte ao normal, só que não quero usar componente, e quero fazer uma parada pra ficar meio automática, pois colocar no onenter e onexit é fatal.E nos tempos de hoje temos que fazer um design interressante pra nosso softwares, agradeço a ajuda de vocês.Valeu Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Abril 23, 2006 bom, eu fiz no onenter e no onexit e deu certo... On enter... procedure TForm1.Edit1Enter(Sender: TObject);begin edit1.Color:=$Aaaa00;end; On exit procedure TForm1.Edit1Exit(Sender: TObject);begin // if not edit1.Focused then edit1.Color:=$FFFFFF;end; Alguns detalhes: 1) Eu não sei direito como colorir em tempo de execução que não seja usando hexadecimal ($FFFFFF caso não conheça) 2) Eu deixei aquela linha comentada de propósito pois não sei se você conheçe aquela propriedade, talvez te ajude em algo Compartilhar este post Link para o post Compartilhar em outros sites
Freedom 0 Denunciar post Postado Abril 24, 2006 Cara já imaginou eu ter que em cada edit colocar a função no onenter e onexit..complica né...Fiz uma função mas tá precisando de uns ajustes ainda procedure TPrincipalForm.SetColorEditEnter(Sender: TObject); begin if Sender is TEdit then (Sender as TEdit).Color := $00FFECD9 else if Sender is TDBEdit then (Sender as TDBEdit).Color := $00FFECD9 else if Sender is TDateEdit then (Sender as TDateEdit).Color := $00FFECD9 else if Sender is TDBDateEdit then (Sender as TDBDateEdit).Color := $00FFECD9 else if Sender is TDBComboBox then (Sender as TDBComboBox).Color := $00FFECD9 else if Sender is TDBMemo then (Sender as TDBMemo).Color := $00FFECD9 else end; procedure TPrincipalForm.SetColorEditExit(Sender: TObject); begin if Sender is TEdit then (Sender as TEdit).Color := clwhite else if Sender is TDBEdit then (Sender as TDBEdit).Color := clwhite else if Sender is TDateEdit then (Sender as TDateEdit).Color := clwhite else if Sender is TDBDateEdit then (Sender as TDBDateEdit).Color := clwhite else if Sender is TDBComboBox then (Sender as TDBComboBox).Color := clwhite else if Sender is TDBMemo then (Sender as TDBMemo).Color := clwhite else end; procedure TPrincipalForm.MudaCoresEdits; var i : integer; begin for i := 0 to ComponentCount - 1 do begin if Components is TEdit then begin (Components as TEdit).OnEnter := PrincipalForm.SetColorEditEnter; (Components as TEdit).OnExit := PrincipalForm.SetColorEditExit; end; end; for i := 0 to ComponentCount - 1 do begin if Components is TDBEdit then begin (Components as TDBEdit).OnEnter := PrincipalForm.SetColorEditEnter; (Components as TDBEdit).OnExit := PrincipalForm.SetColorEditExit; end; end; for i := 0 to ComponentCount - 1 do begin if Components is TDateEdit then begin (Components as TDateEdit).OnEnter := PrincipalForm.SetColorEditEnter; (Components as TDateEdit).OnExit := PrincipalForm.SetColorEditExit; end; end; for i := 0 to ComponentCount - 1 do begin if Components is TDBDateEdit then begin (Components as TDBDateEdit).OnEnter := PrincipalForm.SetColorEditEnter; (Components as TDBDateEdit).OnExit := PrincipalForm.SetColorEditExit; end; end; for i := 0 to ComponentCount - 1 do begin if Components is TDBComboBox then begin (Components as TDBComboBox).OnEnter := PrincipalForm.SetColorEditEnter; (Components as TDBComboBox).OnExit := PrincipalForm.SetColorEditExit; end; end; for i := 0 to ComponentCount - 1 do begin if Components is TDBMemo then begin (Components as TDBMemo).OnEnter := PrincipalForm.SetColorEditEnter; (Components as TDBMemo).OnExit := PrincipalForm.SetColorEditExit; end; end; end; NO ONSHOW DO FORM BASTA COLOCAR MUDACORESEDIT(); Compartilhar este post Link para o post Compartilhar em outros sites