- Code: Select all Expand view RUN
REDEFINE GET oGet[1] VAR oDbfCadaClie:ArCodAll ID 21 OF oDlg PICTURE "999999" Update
- Code: Select all Expand view RUN
REDEFINE BTNBMP oBtn[1] ID 701 RESOURCE "PESQ_CLI_24" OF oDlg NOBORDER Default ;
ACTION ( IF( Empty(oDbfCadaClie:ArCodAll), oGet[2]:SetFocus(), ; ( AchaClie( StrZero( Val( oDbfCadaClie:ArCodAll ),6 ) ) );
), ;
Eval( cBCpf ), Eval( cBRg ), oDlg:UpDate() ) UpDate
- Code: Select all Expand view RUN
REDEFINE GET oGet[2] VAR oDbfCadaClie:ArNomCli ID 22 OF oDlg PICTURE "@!" UpDate
- Code: Select all Expand view RUN
********************************************************************************
STATIC FUNCTION AchaClie( cCodClie )
********************************************************************************
oDbfCadaClie:GoTop()
IF !oDbfCadaClie:Seek(cCodClie)
( IIF( MsgYesNo("Código não Encontrado" + CRLF + "Deseja Fazer uma Busca por Cliente", "Selecione uma Opção"), ;
( BrwPesqClie(),oGet[5]:SetFocus() ),; // Eval( cBCpf ), Eval( cBRg ), oGet[3]:SetFocus() ), ;
( oDbfCadaClie:Blank(), oGet[2]:SetFocus() ))) //, oGet[2]:SetFocus() ) ) , oDlg:UpDate() )
ELSE
oGet[5]:SetFocus() //--> *
oBtn[1]:oJump := oGet[5] //--> **
//xSetFocus(oGet[5])
ENDIF
nVlrUnit := oDbfCadaClie:ArVlrCli
nVlrTt:=nQtd * nVlrUnit
oGet[23]:Refresh()
RETURN .T.
* No retorna ao Focu estabelecido, o focu vai direto para oGet[2]
** tengo q colocar el jump, para funcionar correctamente, si y usar solamente o Jump, tambien no funciona, preciso siempre usar los 2 juntos.
Isto solo acontece usando el tecla Enter, si y clickar com el Mouse, ai funciona perfectamente solamente com o SetFocus ou solamente com el Jump.
Outra forma que tambien funciona normal es usando el Function xsetFocus()
- Code: Select all Expand view RUN
FUNCTION XSetFocus(oObj)
Local oTempo := ""
Define Timer oTempo Interval 10 Of oObj:oWnd Action (oObj:SetFocus(),oObj:SetPos(0),oTempo:Deactivate())
Activate Timer oTempo
Retu("")
Estas funcionam mui bem:
1-
oGet[5]:SetFocus()
oBtn[1]:oJump := oGet[5]
2-
oBtn[1]:oJump := oGet[5]
xSetFocus(oGet[5])
3-
oGet[5]:SetFocus()
xSetFocus(oGet[5])
Mi duda es, uno SetFocus no serio lo bastante para funcionar ?
Sendo que, com el Mouse, lo retorno eh normal con uno Setfocus() apenas.
E con <Enter> es preciso de usar lo SetFocus, combinado com el Jump ou la Funçao xSetFocus().
Saludos Ale