Разделы инструкций

В сети

Пользователей: 112
Из них просматривают:
Аналоги: 49. Даташиты: 12. Инструкции: 7. Новости: 17. Остальное: 6. Ошибки: 1. Программы: 2. Форум: 15. Чат: 3.
Участников: 5
Гостей: 107

an , alex01981 , Google , wolf170571 , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

Оглавление

Событие OnKeyUp

Событие OnKeyUp наступает, если компонент находится в фокусе при отпускании пользователем любой ранее нажатой клавиши, включая функциональные и вспомогательные, такие как <Shift>, <Alt> и <Ctrl>. В обработчик события передается параметр Sender, указывающий на компонент, в котором произошло событие. Кроме этого, в обработчик события передаются параметры WORD &Key и TShiftState Shift, предназначенные для возврата через них кодов клавиш.

 

Событие OnKeyUp наиболее удобно для распознавания нажатых клавиш и комбинации клавиш. Необходимо обратить внимание, что параметр Key для обработчика данного события имеет тип word в отличие от типа char для события OnKeyPress. Поэтому параметр Key допускается сравнивать с целым числом, соответствующим коду символа, или применить к параметру Key функцию char, переводящую его в символ для сравнения с символами. К тому же надо учитывать, что виртуальный символьный код одинаков для символов в верхнем и нижнем регистре и для различной раскладки клавиатуры (русской или английской).
Рассмотрим способ определения кода нажатой клавиши на примере небольшой программы. Создайте в среде разработки Borland C++ Builder 6 новое приложение и поместите на форму один компонент Label1. В инспекторе кодов, для формы Form1 на вкладке событий щелкните дважды по полю правее OnClick и введите в заготовку обработчика события программный код из листинга 22.2.

 

Листинг 22.2. Обработчик события OnClick

Label1->Caption = "Было событие OnClick";

 

Этот код программы позволит изменять свойство Caption компонента на сообщение о возникновении события OnClick на форме приложения.


Аналогично введите для формы Form1 код обработки события KeyDown из листинга 22.3 и код обработки события KeyPress из листинга 22.4.

 

Листинг 22.3. Обработчик события KeyDown

if(Shift.Contains(ssAlt)) Label1->Caption = "Alt";

if(Shift.Contains(ssCtrl) ) Label1->Caption = "Ctrl";

if(Shift.Contains(ssShift)) Label1->Caption = "Shift";

switch (Key)
{
case VK_INSERT:   Label1->Caption = "Insert";   breaks;

case VK_CAPITAL:   Label1->Caption = "CapsLock";   break;

case VK_NUMLOCK:   Label1->Caption = "NumLock";   break;

}

 

 

Листинг 22.4. Обработчик события KeyPress

switch (Key)
{
case ' ':   Labell~>Caption = "Был нажат пробел"; break;
default :   Labell~>Caption = Key; break;
}

 

 

Теперь запустите приложение на выполнение и понажимайте любые клавиши на клавиатуре, а также пощелкайте левой кнопкой мыши по форме приложения — и вы увидите реакцию программы на ваши действия.

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити

Разное

Посыпав место пайки песком или натерев крошащимся камнем, можно паять обычными методами даже алюминий.

Интересно

Не выбрасывайте старые HDD (жесткие диски) . Даже от доисторических ПК 286 серий и выше. Находящиеся во внутрях HDD магнитные подковки ( работающие в составе механизма считывания инф. с дисков) очень даже пригодятся в качестве капитального держателя инструментов (отверток, кусачек,плоск, и пр..) любому мастеру .

Похожие инструкции