在代码中,我在几年前开发的,我一直用这个有很多收在任何时刻按下Esc键的当前形式:如何在TEdit集中时避免按下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真
事件选项卡上双击onkeypress事件事件并输入虚拟代码:
if key =#27 then;
添加的TListBox,TCheckBox,TEDIT的形式和运行应用程序的应用
- 试着同时按下Esc键没有反应,由伪代码
- 重点TEDIT和按Esc键指定。没有任何反应,但播放的声音。
这让我无语了...我已经破解了更坚韧的坚果,但是这... aaaahhhh。感谢您的建议。多谢。 – 2009-04-20 21:54:39
它发生在我们所有人身上。任何时候,我都会在一段时间内与一个bug进行斗争,但我知道它会变得非常简单。这只是它的工作方式。 – 2009-04-20 22:38:35