Come determinare le coordinate del cursore del mouse su un’immagine

Giorgio nota che quando si sposta il mouse su un’immagine in un foglio di lavoro, il puntatore del mouse è una croce. Vuole sapere come determinare, utilizzando VBA, le coordinate della croce quando si fa clic con il mouse.

Excel non consente (nemmeno con VBA) di ottenere le coordinate del puntatore del mouse su un elemento grafico inserito come una normale immagine nel foglio di lavoro. Se inserisci l’immagine utilizzando un controllo ActiveX Immagine dalla scheda Sviluppo, hai un po’ più di libertà. In effetti, puoi utilizzare il gestore eventi MouseDown per determinare le coordinate, come mostrato qui:

 

Private Sub Image1_MouseDown(ByVal Button As Integer, _
  ByVal Shift As Integer, ByVal X As Single, _
  ByVal Y As Single)
    MsgBox X & " - " & Y
End Sub

 

 

Questo codice presuppone che l’immagine sia denominata Image1. Un codice simile potrebbe essere utilizzato per visualizzare le coordinate del cursore in tempo reale sulla barra di stato:

 

Private Sub Image1_MouseMove(ByVal Button As Integer, _
  ByVal Shift As Integer, ByVal X As Single, _
  ByVal Y As Single)
    Application.StatusBar = Round(X, 0) & " - " & Round(Y, 0)
End Sub

 

 

Entrambi questi gestori evento sono ovviamente associati a Image1, quindi devono essere aggiunti alla finestra del codice per quell’oggetto (tasto destro sull’immagine > Visualizza codice).

 

 

Tags: , , , ,

Ti è stato utile?