Como sair do ultimo Get com Enter ao invés de Tab?

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Cezar
Usuário Nível 3
Usuário Nível 3
Mensagens: 189
Registrado em: 27 Mai 2006 14:03

Como sair do ultimo Get com Enter ao invés de Tab?

Mensagem por Cezar »

Boa tarde,

Conforme o exemplo abaixo, não consigo terminar o ultimo Get com ENTER, para sair e posicionar nos
botões Gravar ou Cancelar, preciso teclar TAB.

Estou usando a versão 2.19 da HwGui e HB34, tentei usa o ReadExit(.T.) mas não resolveu.

Obs: Nas versões anteriores, bem anteriores, conseguia terminar com ENTER.

Grato
v_cez@yahoo.com.br

Código: Selecionar todos

STATIC FUNCTION Compra( cCodCli, oBrowse )

   LOCAL nRecNo      := Estoque->( RecNo() )
// LOCAL cCdx        := Estoque->( OrdSetFocus("I01") )

   LOCAL cE_Placa    := Space(Len(Estoque->E_Placa))
   LOCAL dE_Data     := CToD(Space(8)) //Date()
   LOCAL cE_Numero   := Space(Len(Estoque->E_Numero))
   LOCAL cE_Oper     := Space(Len(Estoque->E_Oper))
   LOCAL cE_CFOP     := Space(Len(Estoque->E_CFOP))
   LOCAL nE_Valor    := 0
   LOCAL cE_Ano      := Space(Len(Estoque->E_Ano))
   LOCAL cE_Modelo   := Space(Len(Estoque->E_Modelo))
   LOCAL cE_Chassis  := Space(Len(Estoque->E_Chassis))

   LOCAL oDlg
   LOCAL oFontDlg, oFontBtn, oFontSay, oFontGet
   LOCAL aBtn[2]
   LOCAL aGet[10]
   
   PRIVATE lFirst := .T.
   //ReadExit( .T. )  // K_ENTER, UP, DOWN

   PREPARE FONT oFontDlg NAME "MS Sans Serif" WIDTH 0 HEIGHT -10
   PREPARE FONT oFontBtn NAME "MS Sans Serif" WIDTH 0 HEIGHT -10
   PREPARE FONT oFontSay NAME "MS Sans Serif" WIDTH 0 HEIGHT -12
   PREPARE FONT oFontGet NAME "MS Sans Serif" WIDTH 0 HEIGHT -12

   INIT DIALOG oDlg CLIPPER NOEXIT TITLE "Entrada" ;
            AT 0,0        ;
            SIZE 320,320  ;
            FONT oFontDlg ;
            ICON oIcon    ;
            STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+DS_CENTER ;
            ON INIT {|| aBtn[1]:Disable() }

            // STYLE DS_CENTER+WS_VISIBLE+WS_POPUP+WS_CAPTION+WS_SYSMENU ;

      @ 030,022 SAY "Placa"      SIZE 260,20 FONT oFontSay
      @ 030,044 SAY "Data"       SIZE 260,20 FONT oFontSay
      @ 030,066 SAY "Nr. NF"     SIZE 260,20 FONT oFontSay
      @ 030,088 SAY "Operação"   SIZE 260,20 FONT oFontSay
      @ 030,110 SAY "Cfop"       SIZE 260,20 FONT oFontSay
      @ 030,132 SAY "Valor"      SIZE 260,20 FONT oFontSay
      @ 030,154 SAY "Ano"        SIZE 260,20 FONT oFontSay
      @ 030,176 SAY "Veiculo"    SIZE 260,20 FONT oFontSay
      @ 030,198 SAY "Chassis"    SIZE 260,20 FONT oFontSay
      @ 130,088 SAY "1-Compra  2-Consig.  3-Outras"  SIZE 260,20 FONT oFontSay

      @ 090,022 GET aGet[1]  VAR cE_Placa ;
                  SIZE 090,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  VALID {|| Seek_Placa( aBtn, cCodCli, cE_Placa )} 

      @ 090,044 GET aGet[2]  VAR dE_Data ;
                  SIZE 090,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  ON CHANGE {|| IF( aGet[2]:lChanged, Btn_a(aBtn),)}

      @ 090,066 GET aGet[3]  VAR cE_Numero ;
                  SIZE 090,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  ON CHANGE {|| IF( aGet[3]:lChanged, Btn_a(aBtn),)}

      @ 090,088 GET aGet[4]  VAR cE_Oper ;
                  SIZE 030,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  PICTURE '9' ;
                  ON CHANGE {|| IF( aGet[4]:lChanged, Btn_a(aBtn),)}

      @ 090,110 GET aGet[5]  VAR cE_Cfop ;
                  SIZE 060,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  ON CHANGE {|| IF( aGet[5]:lChanged, Btn_a(aBtn),)}

      @ 090,132 GET aGet[6]  VAR nE_Valor ;
                  SIZE 090,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  PICTURE "@E 9999,999.99" ;
                  ON CHANGE {|| IF( aGet[6]:lChanged, Btn_a(aBtn),)}

      @ 090,154 GET aGet[7]  VAR cE_Ano ;
                  SIZE 060,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  PICTURE "99/99"       ;
                  ON CHANGE {|| IF( aGet[7]:lChanged, Btn_a(aBtn),)}

      @ 090,176 GET aGet[8]  VAR cE_Modelo ;
                  SIZE 200,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  ON CHANGE {|| IF( aGet[8]:lChanged, Btn_a(aBtn),)}

      @ 090,198 GET aGet[9]  VAR cE_Chassis ;
                  SIZE 140,20 ;
                  FONT oFontGet ;
                  STYLE WS_BORDER + WS_TABSTOP ;
                  ON CHANGE {|| IF( aGet[9]:lChanged, Btn_a(aBtn),)}

     @ 040,270 BUTTONEX aBtn[1] CAPTION "Gravar" ;
                  SIZE 100, 28 ;
                  STYLE WS_TABSTOP ;
                  ON CLICK {|| IF( Grava_Compra( cCodCli, aGet, @nRecNo, ;
                     cE_Placa,dE_Data, cE_Numero, cE_Oper, cE_CFOP, nE_Valor, cE_Ano, ;
                     cE_Modelo, cE_Chassis ), oDlg:Close(),) }


      @ 180,270 BUTTONEX aBtn[2] CAPTION "Cancela" ;
                  SIZE 100, 28 ;
                  STYLE WS_TABSTOP ;
                  ON CLICK {|| oDlg:Close() }

   ACTIVATE DIALOG oDlg
   
   oFontDlg:Release()
   oFontSay:Release()
   oFontGet:Release()
   oFontBtn:Release()

// Estoque->( OrdSetFocus(cCdx) )
   Estoque->( DbGoTo(nRecNo) )
   oBrowse:SetFocus()
   oBrowse:Refresh(.T.)

   RETURN (NIL)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Como sair do ultimo Get com Enter ao invés de Tab?

Mensagem por Pablo César »

Oi Cezar. Eu nao sei nada sobre hwgui mas arrisco a dar um palpite.

Em HMG tem o SET NAVIGATION EXTENDED

Senao tiver tenta colocar uma funcao na tecla 13 (enter) e que insira na memoria o TAB
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Como sair do ultimo Get com Enter ao invés de Tab?

Mensagem por gilbertosilverio »

Ola ,

Uso este recurso pra mudar de abas do TAB, veja se funciona na sua rotina...

Código: Selecionar todos

         @ 96,102 GET oObserva    VAR vObserva    SIZE 670,200 STYLE ES_MULTILINE+ES_UPPERCASE MAXLENGTH 966 ;
                       VALID { || iif(hwg_Getkeystate(VK_RETURN) < 0 ,(THISFORM:oPAGE1:SETTAB(2),  THISFORM:oPAGE1:SHOWPAGE(2), THISFORM:oPAGE1:oForneRoque01:Setfocus(), .T.), .T.) }

GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Responder