delphi – 如何在TEdit聚焦时按下Escape时避免叮当声?
发布时间:2020-12-15 09:44:06 所属栏目:大数据 来源:网络整理
导读:在我几年前开发的代码中,我一直在使用它来关闭当前表单,随时按下Escape键: procedure TSomeForm.FormKeyPress(Sender: TObject; var Key: Char);begin if key = #27 then close;end; 此行为是为TForm定义的.表单的KeyPreview属性设置为True,以使表单在任何
在我几年前开发的代码中,我一直在使用它来关闭当前表单,随时按下Escape键:
procedure TSomeForm.FormKeyPress(Sender: TObject; var Key: Char); begin if key = #27 then close; end; 此行为是为TForm定义的.表单的KeyPreview属性设置为True,以使表单在任何其他组件之前对按键做出反应.这一切对于程序的最佳部分都非常有效,但是,当TEdit组件聚焦时按下Escape键时会发出声音(Windows用来表示无效操作的声音).它仍然工作正常,但我从来没有完全摆脱声音. 这有什么问题? 重新创建的步骤: >新的VCL Forms应用程序,将表单的KeyPreview设置为true 如果key =#27则; 解决方法
你得到了ding,因为你在输入中离开了ESC.看看Key是一个var?将其设置为#0,即可消除叮当声.这使它无法进一步处理.
procedure TSomeForm.FormKeyPress(Sender: TObject; var Key: Char); begin if key = #27 then begin key := #0; close; end; end; KeyPreview就是这样,预览将传递给控件的内容,除非你停止它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |