FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Salir de DLG con gets, con ESC
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Salir de DLG con gets, con ESC
Posted: Thu Dec 05, 2013 05: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
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Salir de DLG con gets, con ESC
Posted: Thu Dec 05, 2013 06:34 PM
es mu sencillo:

Code (fw): Select all Collapse
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 "
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Salir de DLG con gets, con ESC
Posted: Thu Dec 05, 2013 07:17 PM
No sé si entendí bien pero se me ocurre esto

Code (fw): Select all Collapse
   oGet : oWnd : bKeyDown := { | nKey | If( nKey == VK_ESCAPE, ( lSalir := .t., oDlg : End() ), ) }


Saludos
Posts: 94
Joined: Tue Mar 28, 2006 04:09 PM
Re: Salir de DLG con gets, con ESC
Posted: Thu Dec 05, 2013 08:06 PM
Hola, solo usa la clausula CANCEL despues del action del boton: ACTION ( oBox:end() ) CANCEL

Saludos
Luis Fernando Rubio Rubio
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: Salir de DLG con gets, con ESC
Posted: Thu Dec 05, 2013 08: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
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Salir de DLG con gets, con ESC
Posted: Fri Dec 06, 2013 01: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!
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Salir de DLG con gets, con ESC
Posted: 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.
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Salir de DLG con gets, con ESC
Posted: Fri Dec 06, 2013 03: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!
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: Salir de DLG con gets, con ESC
Posted: Fri Dec 06, 2013 06: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

Continue the discussion