KeyDow No funciona correctamente con la VK_ESCAPE

KeyDow No funciona correctamente con la VK_ESCAPE

Postby tsales » Fri Mar 10, 2006 11:30 am

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
tsales
 
Posts: 186
Joined: Sat Oct 08, 2005 7:32 am

Postby karinha » Fri Mar 10, 2006 5:48 pm

//-> 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 - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7835
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Postby Antonio Linares » Fri Mar 10, 2006 6:34 pm

Toni,

Estamos revisándolo.
regards, saludos

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

Postby Antonio Linares » Fri Mar 10, 2006 11:15 pm

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
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 53 guests

cron