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.
La seconda possibilità consiste nel verificare semplicemente lo stato del pulsante dx.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
Ciao ciaocodice: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
Simo

Rispondi quotando