Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 在VBA中,是否可以检测到;Ctrl";按键同时滚动鼠标滚轮?_Ms Access_Vba_Ms Access 2013 - Fatal编程技术网

Ms access 在VBA中,是否可以检测到;Ctrl";按键同时滚动鼠标滚轮?

Ms access 在VBA中,是否可以检测到;Ctrl";按键同时滚动鼠标滚轮?,ms-access,vba,ms-access-2013,Ms Access,Vba,Ms Access 2013,我感兴趣的是使用Ctrl键和鼠标滚动事件在Access VBA中实现表单缩放功能。如果用户按住Ctrl键并向上滚动,表单将放大。如果用户按住Ctrl键并向下滚动,表单将缩小 我知道如何捕获Ctrl键按下,我知道如何检测鼠标滚动事件,但我不知道如何同时执行这两项操作。可能吗?好的,知道了。我在函数定义之外创建了一个布尔变量,以了解何时按下Ctrl键 Private ctrlKeyIsPressed As Boolean 然后在KeyDown事件中将该变量更改为True或False: Privat

我感兴趣的是使用Ctrl键和鼠标滚动事件在Access VBA中实现表单缩放功能。如果用户按住Ctrl键并向上滚动,表单将放大。如果用户按住Ctrl键并向下滚动,表单将缩小


我知道如何捕获Ctrl键按下,我知道如何检测鼠标滚动事件,但我不知道如何同时执行这两项操作。可能吗?

好的,知道了。我在函数定义之外创建了一个布尔变量,以了解何时按下Ctrl键

Private ctrlKeyIsPressed As Boolean
然后在
KeyDown
事件中将该变量更改为
True
False

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    'Detect if the "Ctrl" key was pressed
    If (Shift And acCtrlMask) > 0 Then
        ctrlKeyIsPressed = True
    End If

End Sub
更新:

您还需要使用表单的KeyUp事件将
ctrlKeyIsPressed
is pressed变量设置为false

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    ctrlKeyIsPressed = False
End Sub
然后在鼠标滚轮事件中,我使用该变量:

Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)

    'If the "Ctrl" key is also being pressed, then zoom the form in or out
    If ctrlKeyIsPressed Then

        If Count < 0 Then
            Debug.Print "Zoom In"
        ElseIf Count > 0 Then
            Debug.Print "Zoom Out"
        End If

    End If

End Sub
Private Sub Form_mouseweel(ByVal页面为布尔值,ByVal计数为长)
'如果同时按下“Ctrl”键,则放大或缩小表单
如果显示Ctrlkey,则
如果计数小于0,则
调试。打印“放大”
如果计数大于0,则
调试。打印“缩小”
如果结束
如果结束
端接头