11.2. 衍生物TWinControl
OnKeyDown
发生当用户按下一个键和控制具有焦点。此事件是否符合所有的钥匙,包括功能键与Shift和Alt键控制(Ctrl键)和鼠标结合任何字母数字键按下按钮。
无效的typedef __fastcall(__closure * TKeyEvent)(系统::TObject *发件人,Word和重点,类::TShiftState转移);
__property TKeyEvent OnKeyDown = {= FOnKeyDown读,写= FOnKeyDown};
的转移提供了可变参数表明,该控制键(Shift键,Alt键,Ctrl键)是关键结合按下(Key值。)
国家 | 意义 |
ssShift | Shift键被按下。 |
ssAlt | Alt键被按下。 |
ssCtrl | Ctrl键被按下。 |
下面的代码中止打印作业如果用户按下Esc键请注意您应该九月的KeyPreview为True,以确保的OnKeyDown Form1的事件处理程序的街道。
无效__fastcall TForm1::FormKeyDown(TObject *发件人,Word和重点,TShiftState移位)
{
如果(关键== VK_ESCAPE&打印机() - >“打印)
{
打印机() - >“中止();
MessageDlg(“打印中止”,mtInformation,TMsgDlgButtons()<<Mboko,0);
}
}
OnKeyPress
它发生在你按一个键字母数字键或Tab键,退格,回车和Esc
无效的typedef __fastcall(__closure * TKeyPressEvent)(系统::TObject *发件人,焦炭及键);
__property TKeyPressEvent OnKeyPress = {= FOnKeyPress读,写= FOnKeyPress};
此事件处理程序显示一个消息对话框被指定哪些键按下:
无效__fastcall TForm1::FormKeyPress(TObject *发件人,焦炭及密钥)
{
keyString的char [25];
KeyString [0] =键;
strcpy(&keyString [1],“被按下”);
应用程序>的MessageBox(keyString,“重点新闻”,MB_OK);
}
OnKeyUp
发行时发生任何键被按下。此事件是否符合所有的钥匙,包括功能键与Shift和Alt键控制(Ctrl键)和鼠标结合任何字母数字键按下按钮。
无效的typedef __fastcall(__closure * TKeyEvent)(系统::TObject *发件人,Word和重点,类::TShiftState转移);
__property TKeyEvent OnKeyUp = {= FOnKeyUp读,写= FOnKeyUp};
的转移提供了可变参数表明,该控制键(Shift键,Alt键,Ctrl键)与按键组合(Key值。)
国家 | 意义 |
ssShift | Shift键被按下。 |
ssAlt | Alt键被按下。 |
ssCtrl | Ctrl键被按下。 |