Componente q mude a cor fundo dos controles ao receber foco
É o seguinte pessoal, eu estou precisando de um componente que seja colocado no form principal do projeto e para este e todos os outros forms ele mude a cor de fundo dos controles (TEdit´s,TComboBox, TDBEdit´s ...) ao receber o foco.
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?
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
Curtidas 0
Respostas
Njuniorba
27/10/2005
use os componentes do activedelphi, procura no google o site :P
GOSTEI 0
Daniel_mc
27/10/2005
Qual componente, pois dei uma olhada lá e não e não encontrei
GOSTEI 0
Renatacoimbra
27/10/2005
olá !
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
Despois crie um método assim:
No FormActivate vc coloca:
e no FormClose:
PS: nos controle que vc não quer mudar a cor ao receber o foco vc muda a Tag para -1 pode exemplo.
[/code]
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
Daniel_mc
27/10/2005
Obrigado!
So estou quebrando a cabeça para colocar em todos os meus forms MDI
So estou quebrando a cabeça para colocar em todos os meus forms MDI
GOSTEI 0