Página 1 de 1

Sair com o ENter

Enviado: 21 Jun 2012 08:36
por bencz
Olá, gostaria de saber, como posso fazer para ir apertando o enter, e ele ir passando de um text-box para o outro..

por exemplo, tenho um form, com 5 text-box, e o usuario vai apertando enter, e vai passando de um text-box para o outro, mesmo se ele estiver vazio... e quando ele chegar no ultimo textbox, ele fecha a dialog, entende ?

Então, como posso fazer isso ?
Agradeço a ajuda.
Alexandre

Sair com o ENter

Enviado: 21 Jun 2012 08:52
por ANDRIL
A resposta esta neste tópico https://pctoledo.org/forum/viewto ... per#p75136 fornecida pelo Leonardo Sygecon.
Ate+

Sair com o ENter

Enviado: 21 Jun 2012 09:03
por bencz
obrigado (:
mas, como posso fazer p/ saber, se esta no ultimo text-box, e se estiver, sair do dialog ?

Sair com o ENter

Enviado: 21 Jun 2012 16:50
por Imatech
Não seria interessante pelo menos 2 botões ao final dos TxtBox (Confirma e Cancela) ?

Chegou ao botão confirma... Tecla ENTER novamente (Confere se todos os TxtBox foram preenchidos corretamente: Grava)... fim

Sair com o ENter

Enviado: 21 Jun 2012 17:36
por Toledo
Outra opção é colocar um VALID no último GET:

Código: Selecionar todos

VALID {|| nomedialog:Close() }
No VALID pode se usar uma função para validar os campos, gravar os registros, etc...

Abraços,

Sair com o ENter

Enviado: 08 Jul 2020 12:55
por nasouza
estou dentro da dialog, em um browse, como sair apenas teclando o enter.

Sair com o ENter

Enviado: 08 Jul 2020 13:07
por Itamar M. Lins Jr.
Ola!
Uma dica, na pasta docs tem um manual em Html, e na internet também.
CLIPPER - to force the Clipper like behavior - the Enter key is used for moving between GET's;
NOEXIT - the Enter key doesn't cause closing of a dialog box.

Código: Selecionar todos

 INIT DIALOG <oWnd>
    	 [ TITLE <cTitle> ] 
    	 [ AT <x>, <y> ] 
    	 [ SIZE <width>, <height> ] 
         [ ICON <ico> ] 
         [ BACKGROUND BITMAP <oBmp> ] 
    	 [ STYLE <nStyle> ] 
    	 [ FONT <oFont> ] 
    	 [ BACKCOLOR <clr> ]
    	 [ CLIPPER ] 
    	 [ NOEXIT ] 
    	 [ NOEXITESC ]
    	 [ NOCLOSABLE ]
    	 [ ON INIT <bInit> ] 
    	 [ ON SIZE <bSize> ] 
    	 [ ON PAINT <bPaint> ] 
    	 [ ON GETFOCUS <bGfocus> ] 
    	 [ ON LOSTFOCUS <bLfocus> ] 
    	 [ ON OTHER MESSAGES <bOther> ] 
    	 [ ON EXIT <bExit> ] 
    	 [ HELPID <nHelpId>> ]

 ACTIVATE DIALOG <oDlg>
             [ NOMODAL ]
             [ MAXIMIZED ]
             [ MINIMIZED ]
             [ CENTER ]
             [ ON ACTIVATE <bInit> ]
Mastigado!

Código: Selecionar todos

INIT Dialog oDlg CLIPPER NOEXIT TITLE cTitulo Font oFont AT 0,0 SIZE 730,420 ;
Saudações,
Itamar M. Lins Jr.

Sair com o ENter

Enviado: 08 Jul 2020 13:19
por Itamar M. Lins Jr.
Ola!
Ixi! tem esse detalhe, é um browse.
em um browse,
Vai depender de como está tratando as teclas do browse.
Enter é para pular uma célula para outra do browse (caso ela(cell) não for editável)
E na edição salva, igual o comportamento do tbrowse do clipper.

Código: Selecionar todos

@ <x>,<y> BROWSE <oBrowse>
    	 [ ARRAY ] 
    	 [ DATABASE ] 
    	 [ OF <oWnd> ]; 
    	 [ ID <nId> ] 
    	 [ SIZE <width>, <height> ] 
    	 [ ON INIT <bInit> ] 
    	 [ ON SIZE <bSize> ] 
    	 [ ON PAINT <bDraw> ] 
    	 [ ON CLICK <bClick> ] 
    	 [ ON RIGHTCLICK <bRClick> ] 
    	 [ ON GETFOCUS <bGetFocus> ] 
    	 [ ON LOSTFOCUS <bLostFocus> ] 
    	 [ STYLE <nStyle> ] 
         [ <lNoVScr: NO VSCROLL> ] 
         [ <lNoBord: NO BORDER> ] 
    	 [ FONT <oFont> ] 
         [ APPEND ] 
         [ AUTOEDIT ] 
         [ ON UPDATE <bUpdate> ] 
         [ ON KEYDOWN <bKeyDown> ] 
         [ ON POSCHANGE <bPosChg> ]
         [ MULTISELECT ]
Neste caso pelo "On KeyDown {||fKeyChk()}"
Não sei como está ai seu código, neste caso, pq tem outra opção além dessa que mostrei.

Saudações,
Itamar M. Lins Jr.

Sair com o ENter

Enviado: 08 Jul 2020 19:34
por alxsts
Olá!

Não sei qual é a tua necessidade mas, parece estranho sair de um browser com enter... teste assim:

Código: Selecionar todos

FUNCTION Teste()

   LOCAL oForm, aArray := {}, oBr

   INIT DIALOG oForm TITLE "Teste" AT 374,216 SIZE 778,425;
        FONT HFont():Add( "Verdana",0,-13,400,,,) CLIPPER  NOEXIT STYLE DS_CENTER + WS_VISIBLE + WS_CAPTION + WS_SYSMENU ICON NIL
   
   @ 006,005 BROWSE oBr ARRAY SIZE 770,400 FONT HFont():Add( '',0,-13,400,,,) AUTOEDIT STYLE WS_TABSTOP+WS_VSCROLL+WS_HSCROLL ;

   oBr:bKeyDown := {|o,oForm| oBr_KeyPress(o, oForm) }

...

RETURN NIL
//---------------------------------------------------------------------------------------------------------------------------------------

STATIC FUNCTION oBr_KeyPress(o, oForm )

   If GetKeyState(VK_RETURN,.F.,.T.) < 0
      oForm:close()
   Endif

RETURN .T.
//---------------------------------------------------------------------------------------------------------------------------------------