Salir de DLG con gets, con ESC

Salir de DLG con gets, con ESC

Postby noe aburto » Thu Dec 05, 2013 5:02 pm

Saludos foro.

Por sentir que es mas practico con algunos clientes el uso de la tecla ESC en lugar del tsbutton 7.0 con la opcion cancelar
no he podido resolver como hacerlo, tengo esto:

DEFINE DIALOG oDLG(1) FROM nTop,nIzq-3 TO nBot+40,nDer STYLE nOR( DS_MODALFRAME, WS_POPUP ) PIXEL;
COLOR aCOLOR(19),aCOLOR(18)

@ 1, 1 get oGet1 var cGet1 picture '@!'
@ 1,10 get oGet2 var cGet2 picture '@R'
@ 1,40 get oGet3 var cGet3 picture '@S20'
etc...

@ (nBot-nTop)-2,(nDer-nIzq)/2-71 SBUTTON oBtn[1] PROMPT '&Aceptar' RESOURCE 'GOSEMA','GOSEMV' OF oDLG(1);
ACTION ( lSalir:=ValidaVent(aVent),;
IF( lSalir,;
( _lSalvar:=.T.,;
AfectaDBF(aVent,lBloquea,bProceso),;
oDLG(1):End() ),;
NIL) );
XP COLOR COLOR_ACEPTA;
SIZE 33,12 TEXT POSITION 4;
PIXEL

@ (nBot-nTop)-2,(nDer-nIzq)/2-34 SBUTTON oBtn[2] PROMPT '&Cancelar' RESOURCE 'GOSEMN','GOSEMR' OF oDLG(1);
ACTION ( lSalir:=.t., _lSalvar:=.F.,;
AfectaDBF(aVent,lBloquea,bProceso),;
oDLG(1):End() );
XP COLOR COLOR_CANCELA;
SIZE 33,12 TEXT POSITION 4;
PIXEL CANCEL

ACTIVATE DIALOG oDLG(1)

En el dialogo tenglo los gets en en una sola linea, y si soy "aceptar" va y afecta mi dbf, si doy "cancelar" no afecta mis dbf, esto funciona perfecto, pero como hago que al teclear ESC, este dialogo se cierre y no afecte a los botones.

Alguna sugerencia.
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
noe aburto
 
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.

Re: Salir de DLG con gets, con ESC

Postby sysctrl2 » Thu Dec 05, 2013 6:34 pm

es mu sencillo:

Code: Select all  Expand view
FUNCTION DLG()
local lExit := .f.
local oBox
local oBtn1, oBtn2
DEFINE DIALOG oBox  SIZE 400, 330

@ 6.5, 4.5 BUTTON oBtn[1] PROMPT "&Aceptar"  SIZE 60, 24 OF oBox ;
       ACTION (  lExit := .t., oBox:end()  )

  @ 6.5, 15.5 BUTTON oBtn[2] PROMPT "&Regresar" SIZE 60, 24 OF oBox  ACTION ( oBox:end() ) CANCEL


ACTIVATE DIALOG oBox CENTERED

if lExit
 *** guardalo
endif

return nil
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: Salir de DLG con gets, con ESC

Postby horacio » Thu Dec 05, 2013 7:17 pm

No sé si entendí bien pero se me ocurre esto

Code: Select all  Expand view

   oGet : oWnd : bKeyDown := { | nKey | If( nKey == VK_ESCAPE, ( lSalir := .t., oDlg : End() ), ) }
 


Saludos
horacio
 
Posts: 1358
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Salir de DLG con gets, con ESC

Postby derpipu » Thu Dec 05, 2013 8:06 pm

Hola, solo usa la clausula CANCEL despues del action del boton: ACTION ( oBox:end() ) CANCEL

Saludos
Luis Fernando Rubio Rubio
derpipu
 
Posts: 94
Joined: Tue Mar 28, 2006 4:09 pm
Location: Tequila, Jalisco Mexico

Re: Salir de DLG con gets, con ESC

Postby noe aburto » Thu Dec 05, 2013 8:46 pm

Saludos.

Estimados colegas, ya lo he intentado con el ejemplo que exponen sin resultado positivo.

Horacio, ya habia intentado con bKeyDown, el caso de este, es que no me reconoce la tecla ESC, cualquier tecla, incluyendo enter me la identifica, menos ESC, y logico, nunca entraria a oDLG:End()

Seguire intentando
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
noe aburto
 
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.

Re: Salir de DLG con gets, con ESC

Postby joseluisysturiz » Fri Dec 06, 2013 1:52 am

Yo te recomendaria que le quitases la opcion de salir con ESC...asi educas al usuario a usar los botones..sino, para que los hacemos..? saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Salir de DLG con gets, con ESC

Postby hmpaquito » Fri Dec 06, 2013 10:09 am

joseluisysturiz wrote:.asi educas al usuario a usar los botones..sino, para que los hacemos..?


Muchos usuarios han aprendido de los smartphones que esta genial tener un programa que esta pensado para ser agil en el manejo, y para posibilidades ¡ las que da un sistema escritorio !
Habra usuarios que solo utilicen los botones, usuario estilo marmota hibernada, pero otros usuarios agradeceran mucho que se pueda utilizar el teclado porque les da agilidad de manejo.
Lo que de algun modo quiero decir, es que hay variedad de tipos de usuarios y por tanto hay que pensar en todos ellos y ampliar las posibilidades de manejo del programa a todos ellos.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Salir de DLG con gets, con ESC

Postby joseluisysturiz » Fri Dec 06, 2013 3:38 pm

Estoy de acuerdo contigo, si pero no...jejejje.... intentastes con esto en el ON INIT VALID( GETKEYSTATE( VK_ESCAPE ) ).? saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Salir de DLG con gets, con ESC

Postby noe aburto » Fri Dec 06, 2013 6:56 pm

Resuelto:

oGET:bKeyDown:={|nKey|IF(GetKeyState(VK_ESCAPE),oDLG:End(),NIL)}

y estando en cualquier GET del oDLG sale con ESC
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
noe aburto
 
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 77 guests