Ciao !
Non funziona perchè l'argomento Button ti informa sul pulsante premuto in quell'istante. Così non ti rimane traccia delle precedenti pressioni dell'altro pulsante.
Hai due possibilità: la prima consiste nel tenere questa traccia.
Magari valorizzando una variabile booleana a True ogni volta che il puls. dx viene premuto o False ogni volta che viene rilasciato.
Così, al mousedown del puls.sx non devi fare altro che controllare se il puls.dx è ancora premuto.
codice:
Option Explicit
Dim iStatoPulsanti(1 To 4) As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And iStatoPulsanti(2) = True Then
' premuto pulsante sx con puls. dx ancora premuto !!!
End If
' memorizza che il pulsante è premuto
iStatoPulsanti(Button) = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
' memorizza che il pulsante NON è premuto
iStatoPulsanti(Button) = False
End Sub
La seconda possibilità consiste nel verificare semplicemente lo stato del pulsante dx.
codice:
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32.dll" _
(ByVal vKey As Long) As Integer
'
Function IsButtonDown(ByVal Button As MouseButtonConstants) As Boolean
' Restitusice True se il pulsante del mouse è premuto
IsButtonDown = GetAsyncKeyState(Button) And &H8000
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And IsButtonDown(2) = True Then
' premuto pulsante sx con puls. dx ancora premuto !!!
End If
End Sub
Ciao ciao
Simo