Fórum Substituindo o SetFocus #366748
04/12/2008
0
Gostaria de uma informação, Teria algum codigo que faça o mesmo procedimento do Setfocus ??
Fico no aguardo
Cleiflavio
Curtir tópico
+ 0Posts
04/12/2008
Paulo
Function Foco(Obj: TWincontrol):boolean; begin Result := Obj.Canfocus; if result then Obj.SetFocus; end;
Para usar, passe o controle apenas assim:
Foco(Edit1);
Foco(DBGrid1);
Foco(btnGravar);
E assim vai.
Gostei + 0
04/12/2008
Cleiflavio
Será que teria algo que limpasse a memoria, tipo antes de chamar o setfocus ele limpa depois chama.
????????
Gostei + 0
05/12/2008
Paullsoftware
Gostei + 0
05/12/2008
Martins
Boa sorte e bons códigos.
Gostei + 0
05/12/2008
Webjoel
Tavez este seu problema nem seja com o setfocus, mas de qualquer maneira realmente as vezes o setfocus pode causar alguns problemas, eu mesmo parei de usá-lo, atualmente uso o seguinte código:
ActiveControl := DBEdit1;
No caso você pode setar o foco para qualquer componente do form, bastanto apenas passar o nome do mesmo.
Boas Compilações brod!
Gostei + 0
05/12/2008
Cleiflavio
[C:\Documents and Settings\br1marcl\Desktop\erro_delphi.JPG]
Gostei + 0
05/12/2008
Paulo
Não entendi a linha acima. Para isso acontecer é necessáriio ver algum código antes, tipo OnEnter, BeforePost de algum componente Dataware. Para isso seria necessário postar os códigos. É melhor para resolver. Mas ainda acho que tem algo no OnEnter desse componente. O evento OnEnter é disparado quando o objeto recebe o foco.
Gostei + 0
05/12/2008
Cleiflavio
Eu tenho 4 form de cadastro
1 cadastra um tipo X de CX
2 cadastra um tipo Y de cx
3 cadastra um tipo B de cx
quando entro no cadastro de vc X e faço alguns inserções ele cai no meu banco certinho uma linha embaixo da outra, ai vou para o outro formo caastro cx Y e vou fazendo as inserções , quando eu olho no banco ta cadastrado as inserções da cx X e quando vai passar para inserção da cx Y ele ta pulando uma linha .
O Estranho é que quando eu tiro o Setfocus ou o ActiveControl e vou fazer as inserçoes no meu BD vai certinho nãoo pula nenhuma linha cai conforme eu quero, mas eu presciso que quando eu faço a inserção aponte novamente para o meu primeiro edit.
segu o codigo que estou usando na inserção
procedure TF_limpeza.BitBtn1Click(Sender: TObject);
begin
DM.CDS_GERAL.post;
DM.CDS_GERAL.ApplyUpdates(1);
DM.CDS_GERAL.Insert;
//ActiveControl := N_caixa;
//N_caixa.setfocus;
end;
Espero que tenha esclarecido meu problema
Gostei + 0
05/12/2008
Cleiflavio
procedure TF_consignado.FormActivate(Sender: TObject);
begin
DM.CDS_GERAL.open;
DM.CDS_GERAL.Insert;
end;
Uso isso para que quando abrir o form ele deixar todos meus edit em branco para digitar.
não sei se tem alguma coisa a ver.
Gostei + 0
05/12/2008
Paullsoftware
faça um teste. coloque os campos da tabela como ´Requeridos´ daí quando for salvar o registro vazio ele vai apresentar erro...
outra coisa, não use esse código no onActive coloque um botão para controlar...
Gostei + 0
09/12/2008
Cleiflavio
Obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)