Fórum Como cancelar a passagem do foco para outro componente? #282640
23/05/2005
0
Uma boa semana a todos
Mario
Aldus
Curtir tópico
+ 0Posts
23/05/2005
Massuda
Gostei + 0
23/05/2005
Aldus
if NumeroInvalido then begin MessageDlg(NomeRep+´ inválido!´, mtConfirmation,[mbOk],0); Result:=Numero; Abort; end;
O que mais posso tentar?
Mario
Gostei + 0
23/05/2005
Marco Salles
Por exemplo:
if NumeroInvalido then begin MessageDlg(NomeRep+´ inválido!´, mtConfirmation,[mbOk],0); Result:=Numero; FNomeFormulario.NomeComponente.SetFocus; end;
Isto não funciona :?: :?: :?:
Gostei + 0
23/05/2005
Aldus
A função de validação está em uma unit genérica que utilizarei em todo o sistema, não só no form em questão.
Gostei + 0
23/05/2005
Marco Salles
Não tem problema , Acrescente mais um parametro a esta função
na hora de chamar
NomeFunção(NomeDoEdit,Outros paramentros )
e na função
function NomeDaFunção(Editor : TEdit ; Outros paramentros):Retorno begin bla bla... if NumeroInvalido then begin MessageDlg(NomeRep+´ inválido!´, mtConfirmation,[mbOk],0); Result:=Numero; Editor.SetFocus; end; bal bla... end
Gostei + 0
23/05/2005
Aldus
Pesquisei algo sobre, mas as dicas que encontrei são com o uso de ActiveControl, mas me dá erro que não foi declarado. Será que é porque não estou nos eventos ´onkey´.
Gostei + 0
23/05/2005
Marco Salles
[b:937cf55573] Jeito Tem[/b:937cf55573] , mas o problema é que este método que voce esta executando é nun evento OnExit , e o Foco ja foi para o OutroCOmponente .. Para contornar este problema sera necessário , muito mais digitação , do que acrescentar um novo parametro na sua função.
Não tem nada a ver ...
Gostei + 0
23/05/2005
Aldus
if NumeroInvalido then begin wRequest(NomeRep+´ inválido!´,1); Result:=Numero; Screen.ActiveForm.Perform(WM_NEXTDLGCTL,1,0); end;
Obrigado pela ajuda
Até
Gostei + 0
23/05/2005
Kotho
Acho que a melhor saida seria passar o controle como parmâmetro mesmo...
Gostei + 0
23/05/2005
Marco Salles
:arrow: :arrow: eu não sabia que isto retornava ao Ultimo controle
Afinal esta instrução retorna ou não para o ultimo controle :?: :?: :?:
Gostei + 0
23/05/2005
Aldus
Até
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)