如何检测输入键按下而不会干扰表单上的用户界面控件

时间:2014-08-01 11:53:03

标签: delphi keyboard

如何检测Enter键在Delphi表单上按下而不会干扰任何用户界面 表格上的控件。

我试图以Delphi形式阅读条形码扫描仪的输出。扫描仪为条形码的每个数字生成按键事件,就像按下键盘上的数字键一样,然后按Enter键来指示条形码已被读取。

问题是这个 - 我必须在不影响用户界面的情况下区分扫描仪和键盘。

每次检测到数字数字按键时,我都会建立一个包含条形码的缓冲区,当检测到回车键时,我会测试缓冲区是否是条形码的长度 - 如果是这样,我会假设条形码被扫描并吃掉输入按键。 如果按下回车键并且条形码缓冲区不是预期条形码的长度,我假设在另一个用户控件上按下了回车键。 我无法将条形码读入文本框 - 这是阅读此类扫描仪的常用方法 - 因为条形码与用户无关,这需要文本框具有焦点。要求是在表单打开时随时随地进行扫描。

我已经通过使用@Tlama在以下链接提出的解决方案解决了这个问题。

https://stackoverflow.com/a/10470110/960757

0 个答案:

没有答案