IsKeyComboActive
IsKeyComboActive (Системные функции) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция проверяет, активирована ли в данный момент пользователем заданная комбинация клавиш. Комбинация записывается в формате [<Модификаторы>+]<Название клавиши>
, модификаторами могут выступать слова Ctrl, Alt и Shift (к примеру, "Ctrl+Alt+D"
). Также можно проверить только состояние клавиши-модификатора, к примеру, IsKeyComboActive("Ctrl")
. Для визуального клиента проверяется статус того, что основное окно клиента активно, если оно не активно, функция возвратит 0, вне зависимости от того, активирована для комбинация или нет.
Синтаксис
IsKeyComboActive(<Комбинация клавиш (STRING)>):<Комбинация активирована в данный момент, 0 или 1 (INT)>
Аргументы
<Комбинация клавиш (STRING)>
- Строка, описывающая комбинацию клавиш.
Возвращаемое значение
Возвращает 1, если комбинация активирована (и клиент активен), иначе возвращает 0.
Примеры
//Функцию удобно использовать, к примеру, при печати большого количества таблиц из разных модулей (печатных форм документов и пр.) //Так как модули вызываются постоянно, у пользователя нет возможности прекратить выполнение, оно остановит вызываемый модуль, но // при отсутствии специальных проверок внутри, вслед за ним сразу же загрузится следующий //Использование особой комбинации клавиш для остановки цикла является одним из вариантов разрешения этой ситуации. Message("Удерживайте Ctrl+S, чтобы остановить печать до ее завершения...","I"); While 1 Do ... If IsKeyComboActive("Ctrl+S") Then Message("Печать остановлена!","!"); Break; EndIf; ... EndDo;