2017-07-19 81 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,它只會在您單擊左鍵時觸發,並且不會允許您使用鼠標的右鍵。

我想我必須更新我的問題的標題。

相關問題