Hola:
Cuando uso oWnd:bKeyDown me dice (al ejecutar):
"Not implemented yet: GetNumberOfConsoleInputEvents"
¿De que otra manera podría hacerlo?
#include "FWCE.ch"
#INCLUDE "hbclass.ch"
#include "Directry.ch"
REQUEST DBFCDX
REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESWIN // Para establecer código de página a Español (Ordenación, etc..)
//----------------------------------------------------------------------------//
FUNCTION Main()
***************
LOCAL oWnd
PRIVATE oBoton0,oBoton1,oBoton2
DEFINE WINDOW oWnd TITLE "Menu"
oWnd:bKeyDown := {|| InterpretaTeclado()}
@ 0,121 BTNBMP oBoton0 ;
SIZE 120, 50 ;
PROMPT "0-Salir";
ACTION (EjecutaMenu("0"))
@ 51, 0 BTNBMP oBoton1 ; // Si clico en el boton pierde foco el get y por lo tanto ejecuta el valid
SIZE 120, 50 ;
PROMPT "1-Opcion 1";
ACTION ( EjecutaMenu("1"))
@ 51,121 BTNBMP oBoton2 FILE "2-Pda.bmp" ;
SIZE 120, 50 ;
PROMPT "2-Opcion 2";
ACTION ( EjecutaMenu("2"))
ACTIVATE WINDOW oWnd
RETU NIL
STATIC FUNC EjecutaMenu(pOpcion)
********************************
MsgInfo("P:"+pOpcion)
RETURN .F. // Para que nunca salga de oOpcion
STATIC FUNC InterpretaTeclado()
********************************
LOCAL nOpcion := LastKey()
IF nOpcion >= Asc("0") .AND. nOpcion <= Asc("9")
EjecutaMenu(Asc(nOpcion))
ENDIF
RETURN .T.