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

В сети

Пользователей: 63
Из них просматривают:
Аналоги: 22. Даташиты: 4. Инструкции: 1. Новости: 15. Ошибки: 1. Программы: 2. Производители: 2. Ссылки: 1. Теги: 1. Торрент: 1. Форум: 12. Чат: 1.
Участников: 3
Гостей: 60

an , Google , Яндекс , далее...
Рекорд 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;
}

 

 

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

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

Разное

Диэлектрические и диамагнитные отвертки можно выпилить из старых стеклотекстолитовых плат.

Интересно

Если, нет специального оборудования, типа паяльной станции и фенов, для отпайки микрочипа можно воспользоваться тонким фторопластовым проводом.

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