Quiero ejecutar acciones con teclas de funci贸n

Handel Vieth
16 de Diciembre del 2004
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()

sgomez
16 de Diciembre del 2004
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

Viedka
16 de Diciembre del 2004
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

TodoTrucos
16 de Diciembre del 2004
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