Quiero ejecutar acciones con teclas de función
En un formulario que es mi entorno de trabajo para la aplicación que estoy diseñando, quiero que oprimiendo teclas de función o con juegos de teclas, las oprima y se active el formulario que corresponda, alguien me podría decir ¿qué puedo hacer? Ya que no me funciona ON KEY LABEL, INKEY()
Si no son muchos los formularios que querés llamar podés utilizar las teclas de funcion. Para ello poné al comienzo de tu programa
set function 2 to "do form formulario1;"
set function 3 to "do form formulario2;"
De esta manera cuando pulses F2 se ejecuta formulario1 y con F3 se ejecuta formulario2
set function 2 to "do form formulario1;"
set function 3 to "do form formulario2;"
De esta manera cuando pulses F2 se ejecuta formulario1 y con F3 se ejecuta formulario2
Amigo, para que puedas ejecutar la tarea que deseas, necesitas escribir el siguiente código en el procedimiento ACTIVATE de tu formulario
ban = .T.
DO WHILE ban = .T.
SET CURSOR OFF
tecla = INKEY(0)
* Para F2
IF tecla = -1
acción...
tecla = INKEY(0)
ENDIF
IF tecla = -2
accion...
ENDIF
* Para opción y salir del bucle
IF tecla = 27
ban = .F.
SET CURSOR ON
THISFORM.RELEASE()
ENDIF
ENDDO
Espero que te sirva a ti y a todos los que tengan la misma inquietud.
Saludos a todos
Viedka
ban = .T.
DO WHILE ban = .T.
SET CURSOR OFF
tecla = INKEY(0)
* Para F2
IF tecla = -1
acción...
tecla = INKEY(0)
ENDIF
IF tecla = -2
accion...
ENDIF
* Para opción y salir del bucle
IF tecla = 27
ban = .F.
SET CURSOR ON
THISFORM.RELEASE()
ENDIF
ENDDO
Espero que te sirva a ti y a todos los que tengan la misma inquietud.
Saludos a todos
Viedka
Pues yo optaría por usar el evento KeyPress del formulario. Este evento intercepta todas las pulsaciones de teclas, pasando como parámetro la tecla pulsada, así como si has pulsado Mayúsculas, Control o Alt.
Para que funcione debes tener la propiedad KeyPreview del formulario en .T.
Un saludo
TodoTrucos
Para que funcione debes tener la propiedad KeyPreview del formulario en .T.
Un saludo
TodoTrucos
