gpt4 book ai didi

vb6 - 无论我的表单上的哪个控件是目标,我如何捕捉关键的上升/下降?

转载 作者:行者123 更新时间:2023-12-04 22:49:22 26 4
gpt4 key购买 nike

我想捕获 ctrl/alt/etc 键的起伏,无论表单上的哪个控件获取 keyup 或 keydown 事件。由于我的表单上有大约 100 个控件,如果我要为每个单独的控件添加代码,那将非常难看。我怎样才能做到这一点而不必这样做?

PS:SetWindowsHook有什么区别和 SetWindowsHookEx ?

最佳答案

您需要设置 按键预览 每个表单的属性为 .随后,除了单个控件级别之外,您还可以在表单级别捕获键盘事件:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print "Form_KeyDown"
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
Debug.Print "Form_KeyPress"
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Debug.Print "Form_KeyUp"
End Sub

本质上,表单在控件之前获得每个键盘事件的“预览”,例如
Form_KeyDown
Control_KeyDown
Form_KeyUp
Control_KeyUp

至于SetWindowsHook & SetWindowsHookEx,前者是原来的Win16 API调用,后者是Win32和Win64 API调用。据我所知,不推荐使用 SetWindowsHook,并且不在当前的 MSDN 库中。

关于vb6 - 无论我的表单上的哪个控件是目标,我如何捕捉关键的上升/下降?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com