[原创] delphi KeyUp、KeyPress、Keydown区别和用法,如何不按键盘调用事件
KeyPress (Sender: TObject; var Key: Char); 当用户按下键盘上的字符键(字母,数字) 会触发该事件,功能键则不会(F1-F12,Ctrl,Alt,Shift)
KeyUp (Sender: TObject; var Key: Word;Shift: TShiftState); 当按下键盘上的按键松开时,会触发OnKeyUp事件(任意一个按键都会触发)
Keydown(Sender: TObject; var Key: Word;Shift: TShiftState); 按下任意一个按键都会触发该事件
KeyPress 和其他两个的区别是,Key 的取值是字符 ,其他的是数字(word 0·65535)
特别注意的是Shift:TShiftState 它的取值是:TShiftState = set of (ssShift, ssAlt, ssCtrl,ssLeft, ssRight, ssMiddle, ssDouble); 调用的例子有:
1 | ssCtrl in Shift |
或者
1 | [ssCtrl] |
Edit调用示例:
KeyPress
1 2 3 4 5 6 | var key: char begin key:= '#13' ; EditKeyPress( nil ,key); end ; |
KeyUp
1 2 3 4 5 6 | var key: word begin key:= 13 ; EditKeyUp( nil ,key,[]); end ; |
这里 shift 不取值,故写法 [ ]
Keydown
1 2 3 4 5 6 | var key: word begin key:= 13 ; EditKeydown( nil ,key,[]); end ; |
来源:https://www.cnblogs.com/guorongtao/p/11302949.html
修改于:2019.08.15
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报