_InKey( ) (Rutina de biblioteca API)
Devuelve la primera tecla presionada durante el período timeout.
int _InKey(int timeout, int flag)
int timeout; /* Timeout period. */
int flag; /* Option(s). */
Observaciones
El período timeout se especifica como un número de pulsaciones del cronómetro del sistema operativo (1000/segundo). Un período de espera de 0 hace que Visual FoxPro espere hasta que se presione una tecla. Un período de espera negativo hace que _InKey( ) vuelva inmediatamente al programa que realiza la llamada si el usuario no presiona una tecla.
Puede especificar flag como una de estas opciones o como ambas:
- SHOWCURSOR o HIDECURSOR
- MOUSEACTIVE
Utilice SHOWCURSOR para hacer que aparezca el cursor o HIDECURSOR para hacer que desaparezca. Si no especifica ninguno de los dos, el cursor respetará el valor de SYS(2002). El valor del indicador adicional MOUSEACTIVE hace que _InKey( ) trate los clics del mouse (ratón) como pulsaciones de tecla. _InKey devuelve 151 para un clic del mouse. Para especificar dos valores de indicador, utilice los operadores C | o +.
Nota Las rutinas inactivas no deben llamar a _InKey( ).
Puede escribir controladores de eventos que llamen a _InKey( ), pero deberá tener cuidado, ya que _InKey( ) llama a los controladores de eventos de forma recursiva.
Para obtener más información acerca de cómo crear una biblioteca API e integrarla con Visual FoxPro, vea Acceso a la API de Visual FoxPro.
Ejemplo
El ejemplo siguiente llama a _InKey( ) desde Visual FoxPro con dos indicadores.
Código Visual FoxPro
SET LIBRARY TO INKEY
#define SHOWCURSOR 1
#define HIDECURSOR 2
#define MOUSEACTIVE 4
= XINKEY(0, SHOWCURSOR + MOUSEACTIVE)
Código C
#include <pro_ext.h>
FAR Example(ParamBlk FAR *parm)
{
_RetInt(_InKey((int) parm->p[0].val.ev_long,
(int) parm->p[1].val.ev_long), 10);
}
FoxInfo myFoxInfo[] = {
{"XINKEY", (FPFI) Example, 2, "I,I"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Vea también
INKEY( ) (Función) | Acceso a la API de Visual FoxPro | ReadTimeout (Propiedad)