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

В сети

Пользователей: 62
Из них просматривают:
Аналоги: 16. Даташиты: 7. Инструкции: 7. Карта сайта: 1. Новости: 11. Остальное: 3. Программы: 1. Профиль пользователя: 1. Теги: 3. Торрент: 1. Форум: 10. Чат: 1.
Участников: 3
Гостей: 59

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;
}

 

 

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

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

Разное

Канифоль можно изготовить самому, собрав в лесу сосновую (не еловую!) смолу и перетопив ее в консервной банке.

Интересно

Если "ревёт" один из дросселей резонансного стабилизатора, забейте деревянный клин между его катушками.

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