2017-07-19 83 views
-1

好吧,搜索一小时后,我仍然没有找到正确的答案。根据我们的测试人员,我想要的只是禁用右键单击我的按钮,因为它正在创建一个错误。我不知道VB6是不是可以做到这一点,但如果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

您能否指定您使用的按钮类型? VB6 CommandButtons不是人民币可点击的。 – deblocker

回答

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 

我没有运行此或任何东西,但它应该工作。

+0

你在哪里写了'If Button = vbRightButton'我认为你的意思是'如果m_mouseButton = vbRightButton' –

+0

是的你是对的。我编辑来解决这个问题。谢谢! – tcarvin

+0

@syntaxerror,请让我们知道这是否解决了您的问题。 – tcarvin

-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,它只会在您单击左键时触发,并且不会允许您使用鼠标的右键。

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

相关问题