Página 1 de 1

Enter Automático

Enviado: 02 Set 2009 12:27
por clebervn
existe algum estilo ou algo q tenho q declarar para que ao usuário completar um campo, ele passar imediatamente pro campo próximo sem ele ter q dar ENTER ou TAB ??

abc

Re: ENTER AUTOMÁTICO

Enviado: 02 Set 2009 12:57
por sygecom
Apenas coloque no inicio do seu aplicativo:
SET CONFIRM OFF

Re: ENTER AUTOMÁTICO

Enviado: 09 Set 2009 14:26
por clebervn
Já esta setado mas continua não funcionando, segue abaixo pedaços do meu DIALOG :

Código: Selecionar todos

#include "windows.ch"
#include "guilib.ch"
#include "hwgui.ch"
#include "inkeyw.ch"

#define CRLF          CHR(13)+CHR(10)
#define SINAL_MAIS    CHR(107)
#define SINAL_MENOS   CHR(109)


FUNCTION F_LANMAN()
...
SET CONFIRM OFF
...
// CRIAÇÃO DA TELA
INIT DIALOG oDlg TITLE " Lançamento Contábil - Manutenção" ;
     ICON oIcon ;
     AT 40,150 SIZE HTAM,VTAM CLIPPER NOEXIT  ;
     STYLE WS_POPUP+WS_CAPTION+DS_CENTER+WS_SYSMENU ;
     ON INIT {|| oCcdeb:HIDE(), oCccre:HIDE(), oFornec:HIDE(),oNlanc:SETFOCUS() } ;
     ON EXIT {|| CancTab() }

// DIFERENCIAR GET SELECIONADO
SetColorinFocus(.T.)
SET KEY 0,VK_F1 TO {|| ManutF1() }

// SAY
@ 010,020 SAY  "Lote"                   SIZE 130,20  STYLE SS_RIGHT
@ 010,050 SAY  "Data"                   SIZE 130,20  STYLE SS_RIGHT
IF lMaster
   @ 300,020 SAY  "Origem"              SIZE 060,20  STYLE SS_RIGHT
   @ 500,020 SAY  "Nº Lçto.Origem"      SIZE 130,20  STYLE SS_RIGHT
ENDIF
@ 500,050 SAY  "Nº Lançamento"          SIZE 130,20  STYLE SS_RIGHT

@ 000,080 LINE oLine1 LENGTH HTAM
@ 010,090 SAY  "Conta Débito"           SIZE 130,20  STYLE SS_RIGHT
@ 570,090 SAY  oLabel1 CAPTION cLabelC  SIZE 060,20  STYLE SS_RIGHT
@ 015,120 SAY  "Conta Crédito"          SIZE 130,20  STYLE SS_RIGHT
@ 570,120 SAY  oLabel2 CAPTION cLabelC  SIZE 060,20  STYLE SS_RIGHT
@ 000,150 LINE oLine1 LENGTH HTAM
@ 010,160 SAY  "Nº Documento"           SIZE 130,20  STYLE SS_RIGHT
@ 500,160 SAY  oLabel3 CAPTION cLabelF  SIZE 130,20  STYLE SS_RIGHT
@ 010,190 SAY  "Valor"                  SIZE 130,20  STYLE SS_RIGHT
@ 010,220 SAY  "Histórico"              SIZE 130,20  STYLE SS_RIGHT

// GET 
@ 640,048 GET oNlanc    VAR vNlanc      SIZE 060,24  PICTURE "999999" ;
          TOOLTIP "" ID 100 ;
          FONT oFontNorm ;
          STYLE SS_RIGHT ;
          WHEN  {|| FMsgRod1(aMsg[4]),.T.} ;
          VALID {|| fValLan3("vNlanc") .AND. lOk }
@ 150,018 GET oLote     VAR vLote       SIZE 040,24  PICTURE "9999" ;
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE SS_RIGHT + WS_DISABLED ;
          WHEN  {|| FMsgRod1(aMsg[2]),.T.} ;
          VALID {|| fValLan3("vLote") .AND. lOk }
@ 150,048 GET oDtlan    VAR vDtlan      SIZE 070,24  PICTURE "99/99/99" ;
          TOOLTIP "" ;
          FONT oFontNorm  ;
          STYLE SS_CENTER ;
          WHEN  {|| FMsgRod1(aMsg[3]),.T.} ;
          VALID {|| fValLan3("vDtlan") .AND. lOk }
IF lMaster
   @ 370,018 GET oAbrevori VAR vAbrevori  SIZE 080,24  PICTURE "@!" ;
             TOOLTIP "" ;
             FONT oFontNorm ;
             STYLE WS_DISABLED 
   @ 640,018 GET oNlancori VAR vNlancori  SIZE 060,24  PICTURE "999999"  ;
             TOOLTIP "" ;
             FONT oFontNorm ;
             STYLE SS_RIGHT + WS_DISABLED 
ENDIF
@ 150,088 GET oConta_Deb  VAR vConta_Deb  SIZE 160,24  PICTURE vpic3  MAXLENGTH 20  ;
          TOOLTIP "" ID 200 ;
          FONT oFontNorm    ;
          WHEN  {|| FMsgRod1(aMsg[5]),.T.} ;
          VALID {|| fValLan3("vConta_Deb") .AND. lOk }
@ 320,090 SAY oSayDeb  CAPTION vSayDeb    SIZE 240,20 FONT oFontNorm COLOR x_DARKBLUE
@ 640,088 GET oCcdeb      VAR vCcdeb      SIZE 040,24  PICTURE "9999"  ;
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE SS_RIGHT + WS_DISABLED ;
          WHEN  {|| FMsgRod1("Digite o código do centro de custo"),.T.} ;
          VALID {|| fValLan3("vCcdeb") .AND. lOk }
@ 150,118 GET oConta_Cre  VAR vConta_Cre  SIZE 160,24  PICTURE vpic3  MAXLENGTH 20  ;
          TOOLTIP "" ID 300 ;
          FONT oFontNorm ;
          WHEN  {|| FMsgRod1(aMsg[6]),.T.} ;
          VALID {|| fValLan3("vConta_Cre") .AND. lOk }
@ 320,120 SAY oSayCre   CAPTION vSayCre   SIZE 240,20 FONT oFontNorm COLOR x_DARKBLUE
@ 640,118 GET oCccre      VAR vCccre      SIZE 040,24  PICTURE "9999"  ;
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE SS_RIGHT + WS_DISABLED ;
          WHEN  {|| FMsgRod1("Digite o código do centro de custo"),.T.} ;
          VALID {|| fValLan3("vCccre") .AND. lOk }
@ 150,158 GET oNudoc    VAR tmp_nudoc     SIZE 130,24  PICTURE "@!"  MAXLENGTH 15 ;
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE WS_DISABLED ;
          WHEN  {|| FMsgRod1(aMsg[7]),.T.} ;
          VALID {|| fValLan3("tmp_nudoc") .AND. lOk }
@ 640,158 GET oFornec    VAR vFornec      SIZE 120,24  PICTURE "@!"  MAXLENGTH 14 ;
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE WS_DISABLED ;
          WHEN  {|| FMsgRod1("Digite o CGC ou apelido do fornecedor."),.T.} ;
          VALID {|| fValLan3("vFornec") .AND. lOk }
@ 150,188 GET oValor    VAR vValor        SIZE 150,24  PICTURE "@E 999,999,999.99";
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE SS_RIGHT + WS_DISABLED ;
          WHEN  {|| FMsgRod1(aMsg[8]),.T.} ;
          VALID {|| vValor > 0 }
@ 150,218 GET oHisto     VAR vauxi1       SIZE 050,24  PICTURE "!!!!"  ;
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE WS_DISABLED ;
          WHEN  {|| FMsgRod1(aMsg[9]),.T.} ;
          VALID {|| fValLan3("vauxi1") .AND. lOk }
@ 210,220 SAY oSayHis   CAPTION vSayHis   SIZE 200,20 FONT oFontNorm COLOR x_DARKBLUE
@ 150,250 GET oVarmemo VAR Varmemo        SIZE HTAM-160,80 ;
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE ES_MULTILINE + ES_WANTRETURN + ES_AUTOVSCROLL + WS_VSCROLL + WS_DISABLED  ;
          WHEN  {|| Fmsg("Digite o texto complementar"), temhistoc } ;
          VALID {|| oButton1:SETFOCUS() }

// TECLA ESCONDIDA PARA CAPTURA DO +, -, PGUP e PGDW
@ 775,020 GET oTecla    VAR cTecla   ID 400 SIZE 1,1 PICTURE '!'  ;    // 775,020
          TOOLTIP "" ;
          FONT oFontNorm ;
          STYLE SS_CENTER ;
          NOBORDER ;
          ON KEYDOWN {|This,nKeyPres| TeclaPress(This,nKeyPres) } ;
          VALID {|| fValLan3("cTecla")}

// LINHA DIVISÓRIA DE GET´S E BOTÕES
@ 0,VTAM-70 LINE oLine1 LENGTH HTAM

// BOTÃO DE CONFIRMAÇÃO DE GRAVAÇÃO - INCLUSÃO/ALTERAÇÃO
@ HTAM-195,VTAM-63 BUTTON oButton1 CAPTION "&Confirmar" ON CLICK {||GravaTab()}  SIZE 90,30  STYLE WS_TABSTOP

// BOTÃO DE CANCELAMENTO DE UMA ALTERAÇÃO
@ HTAM-095,VTAM-63 BUTTON oButton2 CAPTION "Cancela&r"  ON CLICK {||cTecla:="+",EndDialog()} SIZE 90,30  STYLE WS_TABSTOP

// LINHA DIVISÓRIA DE GET´S E BOTÕES
@ 0,VTAM-30 LINE oLine2 LENGTH HTAM

// LINHA RODAPÉ 
@ 0,VTAM-25 SAY oMsgRod CAPTION cMsgRod  SIZE HTAM,20  COLOR x_DARKBLUE

ACTIVATE DIALOG oDlg 

RETURN oDlg:lresult
Retirei declarações de variáveis, deixei o miolo.....

Abc !!


---
Nota da Moderação (Maligno):
A presente mensagem foi editada para a inclusão das tags de indentação, a fim de facilitar a leitura do código. Se ler código fonte já é algo difícil, pior se torna sem a devida indentação. Por favor, não deixe de usar essas tags no futuro.

Re: ENTER AUTOMÁTICO

Enviado: 09 Set 2009 15:14
por sygecom
Talvez por causa dos Valid não esteja passando para o proximo campo, apesar de eu ter aqui também e não me atrapalha em nada. Qual sua versão da sua Hwgui ?
Está usando a versão da CVS ?

Re: ENTER AUTOMÁTICO

Enviado: 09 Set 2009 15:25
por clebervn
2.16

Re: ENTER AUTOMÁTICO

Enviado: 09 Set 2009 16:08
por sygecom
Então por isso não funciona, isso esta disponivel na 2.17 da cvs que o basso adicionou, atualize sua HWGUI com a versão da CVS que vai funcionar.