JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

OnKeyDown

- событие визуальных компонентов
Компоненты JS+
Наступает при нажатии любых клавиш клавиатуры.
Синтаксис
function OnKeyDown(
  Sender,
  Key,
  ShiftState
);

Параметры
Параметр Тип Описание
Sender TComponent дескриптор визуального компонента
Key TNumber виртуальный код нажатой клавиши
ShiftState Number состояние управляющих клавиш
Пример (JS+)
var key_Lst=new Array(
"VK_ADD",
"VK_BACK",
"VK_CANCEL",
"VK_CAPITAL",
"VK_CLEAR",
"VK_CONTROL",
"VK_DECIMAL",
"VK_DELETE",
"VK_DIVIDE",
"VK_DOWN",
"VK_END",
"VK_ESCAPE",
"VK_HELP",
"VK_HOME",
"VK_INSERT",
"VK_LBUTTON",
"VK_LCONTROL",
"VK_LEFT",
"VK_LMENU",
"VK_LSHIFT",
"VK_LWIN",
"VK_MBUTTON",
"VK_MENU",
"VK_MULTIPLY",
"VK_NEXT",
"VK_NUMLOCK",
"VK_PAUSE",
"VK_PRIOR",
"VK_RBUTTON",
"VK_RCONTROL",
"VK_RETURN",
"VK_RIGHT",
"VK_RMENU",
"VK_RSHIFT",
"VK_RWIN",
"VK_SCROLL",
"VK_SHIFT",
"VK_SLEEP",
"VK_SNAPSHOT",
"VK_SPACE",
"VK_SUBTRACT",
"VK_TAB",
"VK_XBUTTON1",
"VK_XBUTTON2",
"VK_UP"
);

// Главная форма
frm=new TForm();
frm.Caption="JS+ - событие визуальных компонентов OnKeyDown";
frm.Width =600;
frm.Height=450;
frm.OnKeyDown=frm_KeyDown;

lb1=new TLabel(frm);
lb1.Caption="Нажата клавиша: ";
lb1.Left=15;
lb1.Top =(frm.ClientHeight-lb1.Height)/2;

lb2=new TLabel(frm);
lb2.Left=lb1.Left+lb1.Width;
lb2.Top =lb1.Top;
lb2.Font.Style=fsBold;

frm.ShowModal();

// Обработчик события OnKeyDown
function frm_KeyDown(frm,Key,Shift)
{
  var i,key_Str,key_Val=Key.Value;

  key_Str=Cap_Str="";

  // Состояние управляющих клавиш
  if (Shift & ssShift)
    Cap_Str+=((Cap_Str=="") ? "" : " + ")+"VK_SHIFT";
  if (Shift & ssAlt)
    Cap_Str+=((Cap_Str=="") ? "" : " + ")+"VK_MENU";
  if (Shift & ssCtrl)
    Cap_Str+=((Cap_Str=="") ? "" : " + ")+"VK_CONTROL";

  // Клавиши по списку
  for (i=0;i<key_Lst.length;i++)
    if (key_Val==eval(key_Lst[i])) {
      key_Str=key_Lst[i];
      break;
    }

  // F1 - F24
  if ((key_Str=="") && ((key_Val>=VK_F1) && (key_Val<=VK_F24)))
    key_Str="VK_F"+(key_Val-VK_F1+1);

  // VK_NUMPAD0 - VK_NUMPAD9
  if ((key_Str=="") && ((key_Val>=VK_NUMPAD0) && (key_Val<=VK_NUMPAD9)))
    key_Str="VK_NUMPAD"+(key_Val-VK_NUMPAD0);

  // Прочие клавиши
  if (key_Str=="")
    key_Str="'"+String.fromCharCode(key_Val)+"'";

  if ((key_Str!="") && (Cap_Str.indexOf(key_Str)<0))
    Cap_Str+=((Cap_Str=="") ? "" : " + ")+key_Str;
  lb2.Caption=Cap_Str;
}
Примечание
Обработчик события может заменить виртуальный код клавиши (например, для принудительного ввода символов в верхнем регистре), установив новое значение свойства Value параметра Key.
Совместимость
C++ Builder/Delphi
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/Common/Event/OnKeyDown.htm
© 2024,