BUTTONBAR no sale CON VK_ESCAPE (RESUELTO)

Post Reply
User avatar
albeiroval
Posts: 386
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

BUTTONBAR no sale CON VK_ESCAPE (RESUELTO)

Post by albeiroval »

Buenas Noches.

Necesito salir con la tecla VK_ESCAPE en un BUTTONBAR pero no lo hace.
Aqui el codigo que uso.

Code: Select all | Expand

static Function DialogMain()   Local oDlg  Local oFont  Local oBar  Local bKeydown  Local oBtn         := Array(4)  Local lExitDlg := FALSE    DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12 BOLD      DEFINE DIALOG oDlg RESOURCE "ButtonBar" TITLE "Egreso de Caja" FONT oFont ICON aBitmap[ BMP32_ICON ];     TRANSPARENT      REDEFINE BUTTONBAR oBar id 100 OF oDlg 2010 SIZE 75, 70  DEFINE BUTTON oBtn[1] OF oBar;     PROMPT "Nueva";     RESOURCE aBitmap[ BMP32_NEW ];        DEFINE BUTTON oBtn[2] OF oBar;     PROMPT "Buscar";     RESOURCE aBitmap[ BMP32_SEARCH ];       DEFINE BUTTON oBtn[3] OF oBar;     PROMPT "Listar";     RESOURCE aBitmap[ BMP32_BROWSE ];       GROUP        DEFINE BUTTON oBtn[4] OF oBar;     PROMPT "Salir";     RESOURCE aBitmap[ BMP32_EXIT ];     ACTION ( lExitDlg:= TRUE, oDlg:End() );     GROUP    oBtn[4]:lCancel = TRUE       oBar:WinStyle( WS_BORDER, .F. )         AEval( oDlg:aControls, {|o| o:bKeyDown := {|nKey| KeyDown( nKey, oDlg, @lExitDlg )} } )    ACTIVATE DIALOG oDlg;    VALID lExitDlg;    ON INIT ( DisableSysMenuDlg(oDlg) )      RELEASE FONT oFont    Return Nilstatic Function KeyDown( nKey, oDlg, lExitDlg )        if GetKeyState( VK_ESCAPE )       ? "VK_escape"     lExitDlg := TRUE     oDlg:End()  else      ? "nKey", nKey    endif                                     Return Nil 
Last edited by albeiroval on Tue May 14, 2019 9:39 pm, edited 3 times in total.
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: BUTTONBAR no sale CON VK_ESCAPE

Post by joseluisysturiz »

Saludos, solo por casualidad...no hagas comparacion si no asignacion...prueba con oBtn:lCancel := .t., no se, es solo costumbre de hacerlo asi y funciona al pelo sin hacer mas nada, gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
albeiroval
Posts: 386
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: BUTTONBAR no sale CON VK_ESCAPE

Post by albeiroval »

Jose luis, un saludo hermano.

La instruccion oBtn[4]:lCancel = TRUE no es para comparacion lo que hace es asignar el valor TRUE, igual probe
como tu dices oBtn[4]:lCancel := TRUE y tampoco funciona
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
karinha
Posts: 7963
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 5 times
Contact:

Re: BUTTONBAR no sale CON VK_ESCAPE

Post by karinha »

STATIC lExitDlg := .F.

en el boton de salida,

lExitDlg := .T.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
albeiroval
Posts: 386
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: BUTTONBAR no sale CON VK_ESCAPE

Post by albeiroval »

Karihna,

STATIC lExitDlg := .F.

en el boton de salida,

lExitDlg := .T.


Tampoco funciona
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
albeiroval
Posts: 386
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: BUTTONBAR no sale CON VK_ESCAPE (RESUELTO)

Post by albeiroval »

Me respondo yo mismo.

Code: Select all | Expand

oDlg:bValid = <||                                if GetKeyState( VK_ESCAPE )                                  if MsgYesNo("Salir de Egresos ?", Name_Empresa)                                    oDlg:End()                                    Return TRUE                                     endif                                endif                                                                Return FALSE                                > ACTIVATE DIALOG oDlg;    ON INIT ( DisableSysMenuDlg(oDlg) )  
Last edited by albeiroval on Tue May 14, 2019 10:24 pm, edited 1 time in total.
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
cmsoft
Posts: 1300
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Has thanked: 1 time
Been thanked: 3 times

Re: BUTTONBAR no sale CON VK_ESCAPE (RESUELTO)

Post by cmsoft »

La tecla ESC por defecto cierra el dialogo, excepto que tenga una clausula Valid, pero es cierto que no la entrega como una nKey.
En tu ejemplo hubiese bastado:

Code: Select all | Expand

ACTIVATE DIALOG oDlg;    ON INIT ( DisableSysMenuDlg(oDlg) )
User avatar
albeiroval
Posts: 386
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: BUTTONBAR no sale CON VK_ESCAPE (RESUELTO)

Post by albeiroval »

cmsoft,

La tecla ESC por defecto cierra el dialogo, excepto que tenga una clausula Valid, pero es cierto que no la entrega como una nKey.


ESO LO SE, pero no me gusta porque no anticipa el cierre del dialogo al usuario, por eso necesitaba el control del cierre.
Usando el codigo que postie funciona perfecto.
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
Post Reply