キーボードのキーが押された時にはOnKeyDownイベントが、キーが話された時にはOnKeyUpイベントが発生します。
void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
…
}
イベントの引数Keyには押されたキーの仮想キーコードが入ります。
イベントのTShiftState型の引数Shiftを調べることで、Shiftキー・Altキー・Ctrlキーなどが押されているかを調べることができます。
次のサンプルプログラムでは、入力欄でCtrl+Shift+F7キーが押されたら入力欄の内容をクリアする
void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift)
{
//Ctrl+Shift+F7キーが押されたら入力欄の内容をクリアする
if (Shift.Contains(ssCtrl) && Shift.Contains(ssShift) && Key == VK_F7)
{
Edit1->Clear();
}
//押されたキーをラベルに表示する
Label1->Caption = ShortCutToText(ShortCut(Key, Shift));
}