KeyDow No funciona correctamente con la VK_ESCAPE

Post Reply
tsales
Posts: 186
Joined: Sat Oct 08, 2005 7:32 am

KeyDow No funciona correctamente con la VK_ESCAPE

Post by tsales »

Antonio
Desde el último build la captura en un Dialogo de la tecla VK_ESCAPE utilizando el metodo Keydown, no funciona correctamente y antes funciona. Adjunto ejemplo:

FUNCTION MAIN()

LOCAL oDlg, oBrw

DEFINE DIALOG oDlg

oDlg:bKeyDown = { |nKey, nFlags| if(nkey==VK_ESCAPE, msginfo("Adios"),) }

@ 3, 1 BUTTON "&Close";
ACTION oDlg:End()

ACTIVATE DIALOG oDlg;
CENTER

RETURN NIL
Toni Sales
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Post by karinha »

//-> El correcto es asi...

#Include "FiveWin.Ch"

FUNCTION MAIN()

LOCAL oDlg

DEFINE DIALOG oDlg

@ 3, 10 BUTTON "&Salir" OF oDlg ;
SIZE 40, 12 ;
ACTION( oDlg:End(), __Quit() ) CANCEL

ACTIVATE DIALOG oDlg CENTERED ;
VALID( GetKeyState( VK_ESCAPE ) )

RETURN NIL

//-> Saludos.
João Santos - São Paulo - Brasil
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Toni,

Estamos revisándolo.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Toni,

En el nuevo build de FWH, la pulsación de VK_ESCAPE está siguiendo el camino correcto que es generar una llamada al método Command() con valor de IDCANCEL (2) que llama a :End( IDCANCEL ).

En vez de usar bKeyDown ó bKeyChar, debes realizar la comprobación desde el VALID del diálogo.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply