Возвращает первую клавишу, нажатую в течении периода timeout.
int _InKey(int timeout, int flag) int timeout; /* Интервал тайм-аута. */ int flag; /* Опция (опции). */ |
Примечания
Период времени ожидания timeout определяется как число импульсов таймера операционной системы (тысячная секунды). Если интервал тайм-аута равен 0, Visual FoxPro будет ждать до тех пор, пока пользователь не нажмет какую-либо клавишу. Отрицательная величина тайм-аута вынуждает _InKey( ) немедленно возвратить управление в вызывающую программу, если пользователь не нажал клавишу.
Вы можете определить flag как одну или обе из следующих опций:
-
SHOWCURSOR или HIDECURSOR
-
MOUSEACTIVE
SHOWCURSOR задает отображение курсора на экране, а HIDECURSOR убирает курсор с экрана. Если ни одно из этих значений не задано, отображение курсора регулируется установкой SYS(2002). Еще одно значение флага, MOUSEACTIVE, заставляет программу _InKey( ) трактовать нажатие кнопок мыши как нажатие клавиш. При нажатии кнопки мыши _InKey возвращает 151. Чтобы задать два значения флага, используйте оператор языка C | или +.
Замечание |
|---|
|
Неработающие программы не должны вызывать _InKey( ). |
Вызов _InKey( ) можно включать в обработчики событий, но при этом следует соблюдать осторожность, поскольку _InKey( ) может делать рекурсивные обращения к обработчику событий.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере _InKey( ) вызывается из Visual FoxPro с двумя флагами
Код Visual FoxPro
Copy Code | |
|---|---|
SET LIBRARY TO INKEY #define SHOWCURSOR 1 #define HIDECURSOR 2 #define MOUSEACTIVE 4 = XINKEY(0, SHOWCURSOR + MOUSEACTIVE) | |
Код C
Copy Code | |
|---|---|
#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
}; | |
Смотрите также
Справочное руководство
Функция INKEY( )Свойство ReadTimeout
Концепции
Процедуры библиотеки API от A до ZПрочие ресурсы
Доступ к API Visual FoxProПроцедуры библиотеки API по категориям
© Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.
Замечание