Differenze tra le versioni di "Intercettare il tasto premuto del mouse"

Da Gambas-it.org - Wikipedia.
Riga 8: Riga 8:
 
Esempio:
 
Esempio:
  
  '''Public''' Sub Form_MouseDown()
+
  Public Sub Form_MouseDown()
 
   
 
   
 
     Select Case Mouse.Button
 
     Select Case Mouse.Button
Riga 15: Riga 15:
 
       Case 2
 
       Case 2
 
         Print "E' stato premuto il tasto \"Destro\" !"
 
         Print "E' stato premuto il tasto \"Destro\" !"
       Case 4
+
       Case 3 to 4
 
         Print "E' stato premuto il tasto \"Centrale\" (o la rotellina) !"
 
         Print "E' stato premuto il tasto \"Centrale\" (o la rotellina) !"
 
     End Select
 
     End Select
 
   
 
   
  '''End'''
+
  End
 
+
oppure, meglio, intercettando il valore booleano ''True'' delle tre proprietà:
 
 
oppure intercettando il valore booleano ''True'' delle tre proprietà:
 
 
<BR>''Mouse.Left
 
<BR>''Mouse.Left
 
<BR>''Mouse.Middle
 
<BR>''Mouse.Middle
 
<BR>''Mouse.Right
 
<BR>''Mouse.Right
  '''Public''' Sub Form_MouseDown()
+
  Public Sub Form_MouseDown()
 
   
 
   
 
   With Mouse
 
   With Mouse
Riga 34: Riga 32:
 
   End With
 
   End With
 
   
 
   
  '''End'''
+
  End

Versione delle 09:47, 7 giu 2024

Per sapere quale tasto del mouse è stato premuto, possiamo farlo intercettando il numero identificativo ottenuto dallo stato del mouse.
Lo stato del mouse viene comunicato dalla proprietà Button di Mouse.
In particolare:
Mouse.Button = 1 è uguale a Mouse.Left
Mouse.Button = 4 è uguale a Mouse.Middle
Mouse.Button = 2 è uguale a Mouse.Right

Esempio:

Public Sub Form_MouseDown()

   Select Case Mouse.Button
     Case 1
       Print "E' stato premuto il tasto \"Sinistro\" !"
     Case 2
       Print "E' stato premuto il tasto \"Destro\" !"
     Case 3 to 4
       Print "E' stato premuto il tasto \"Centrale\" (o la rotellina) !"
   End Select

End

oppure, meglio, intercettando il valore booleano True delle tre proprietà:
Mouse.Left
Mouse.Middle
Mouse.Right

Public Sub Form_MouseDown()

 With Mouse
   If .Left Then Print "Sinistro"
   If .Middle Then Print "Centrale"
   If .Right Then Print "Destro"
 End With

End