禁用鼠标右键单击图像控件VB6

时间:2017-07-19 08:35:01

标签: vb6 mouseevent

好的,搜索了一个小时后,我仍然没有找到正确答案。根据我们的测试人员的说法,我想要的是禁用右键单击我的按钮,因为它正在创建一个错误。我不知道VB6是否不能这样做,但如果VB6不能做到这一点,有什么办法吗?好的,更具体一点,这是我的例子......

'我在某个地方找到了......

Private Sub cmdExportCSV_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbRightButton Then
       'Do Nothing
   End If
End Sub


'Then I have here
Private Sub cmdExportCSV_Click()
   'Some logic here
End Sub

但是当我单击鼠标右键时,cmdExportCSV_Click()仍在执行代码。

2 个答案:

答案 0 :(得分:1)

那样的事情(基于你的代码):

Private m_mouseButton As Integer

Private Sub cmdExportCSV_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   m_mouseButton = Button
End Sub

Private Sub cmdExportCSV_Click()
   If m_mouseButton = vbRightButton Then
       'Do Nothing
       Exit Sub
   End If
   'Some logic here
End Sub

我没有运行这个或任何东西,但它应该有效。

答案 1 :(得分:-1)

我已经解决了自己的问题。

从此......

Private Sub cmdExportCSV_Click()
   If m_mouseButton = vbRightButton Then
       'Do Nothing
       Exit Sub
   End If
   'Some logic here
End Sub

对此..

Private Sub cmdExportCSV_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button And vbRightButton Then
        Exit Sub
    End If
   'Some logic here
End Sub

就是这样! VB6不会直接允许您禁用鼠标右键和鼠标左键。我的解决方案就是在用户单击鼠标右键时退出事件。

无论如何,我很抱歉,因为我发现系统使用的是asImageCommand而不是CommandButton,所以当你声明这样的事件“Private Sub cmdExportCSV_Click()”时,当你点击鼠标右键时会触发asImageCommand控件和鼠标左键。但是如果您使用的是CommandButton,它只会在您单击左键时触发,并且不允许您使用鼠标的右键。

我想我必须更新问题的标题。