📅  最后修改于: 2023-12-03 15:00:23.741000             🧑  作者: Mango
在 Delphi 中,我们可以使用 KeyDown
事件来检查是否按下了键。此事件在用户按下键盘上的任何按键时发生。下面是一个示例:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_ESCAPE then
Close;
end;
上述代码监听 Form1
上的 KeyDown
事件。如果按下的键是 VK_ESCAPE
,则关闭 Form1
。
其中,Key
参数是按下的键的虚拟键码。VK_ESCAPE
是一个常量,表示 Escape 键的虚拟键码。
除了 VK_ESCAPE
,还有许多其他的虚拟键码,可以在 Windows
十进制代码中找到。例如:
VK_BACKSPACE
,退格键VK_TAB
,制表符键VK_RETURN
,回车键VK_SHIFT
,Shift 键VK_CONTROL
,Ctrl 键VK_MENU
,Alt 键此外,Shift
参数包含了按下的 Shift
、Ctrl
和 Alt
等键的状态。
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = Ord('C')) and (ssCtrl in Shift) then
Clipboard.AsText := 'Hello, World!';
end;
上述代码监听 Form1
上的 KeyDown
事件。如果按下的键是 C
且同时按下了 Ctrl
键,则将字符串 "Hello, World!" 复制到剪贴板。注意,需要将 Key
转换为 Ord('C')
才能检查字符 C
是否被按下。
通过监听 KeyUp
事件也可以检查键盘按键是否被释放。
希望这篇文章能够帮助您在 Delphi 中检查键盘按键。