Fórum Componente q mude a cor fundo dos controles ao receber foco #301056
27/10/2005
0
Um amigo nosso aqui do Forum o Fernando Fernandes desenvolveu um, mas ele tava com um probleminha nos Forms MDI ai ele ficou de consertar, mas acho que ele ainda não deve ter tido tempo e eu stava precisando para por em um programa meu que já esta saindo do forno :lol:.
Seá que algum dos meus nobres companheiros conhece algum?
Daniel_mc
Curtir tópico
+ 0Posts
28/10/2005
Njuniorba
Gostei + 0
28/10/2005
Daniel_mc
Gostei + 0
29/10/2005
Renatacoimbra
vc pdoe usar esse código no seu forme, se vc estiver usando herança de Forms vc pode colocar só no form pai e blz.
Declare uma Variavel na Public do Form
private
{ Private declarations }
public
{ Public declarations }
CampoFoco: TComponent;
end;
Despois crie um método assim:
procedure TFrm_Main.ContoleFoco(Sender: TObject); begin if Assigned(CampoFoco) then if CampoFoco.Tag >= 0 then TDBEdit(CampoFoco).Color := clWhite; // cor sem foco if (ActiveControl is TEdit) or (ActiveControl is TDBEdit) or (ActiveControl is TMaskEdit) or (ActiveControl is TDBCheckBox) or (ActiveControl is TComboBox) or (ActiveControl is TDBComboBox) or (ActiveControl is TRichEdit) or (ActiveControl is TDBRichEdit) then begin if ActiveControl.Tag >= 0 then TDBEdit(ActiveControl).Color := Cfg.GetCorEditComFoco; // cor com foco CampoFoco := ActiveControl; end; end;
No FormActivate vc coloca:
Screen.OnActiveControlChange := ContoleFoco;
e no FormClose:
Screen.OnActiveControlChange := nil;
PS: nos controle que vc não quer mudar a cor ao receber o foco vc muda a Tag para -1 pode exemplo.
[/code]
Gostei + 0
31/10/2005
Daniel_mc
So estou quebrando a cabeça para colocar em todos os meus forms MDI
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)