Mostrare un'immagine animata con il Drop del suo file in una MovieBox

Da Gambas-it.org - Wikipedia.

Il caso è quello in cui si intende far mostrare da una MovieBox un'immagine animata, semplicemente trascinando il suo file, preso anche da una finestra esterna all'applicativo Gambas, e rilasciandolo all'interno della predetta MovieBox.


Mostriamo un semplice esempio:

Public Sub Form_Open()

' Imposta la proprietà ".Drop" a "Vero" per consentire l'attivazione dell'evento del "Drop":
  MovieBox1.Drop = True

End


Public Sub MovieBox1_Drop()

  Dim percorso As String
  
  percorso = Drag.Paste("text/uri-list")
  
' Poiché il metodo "Drag.Paste()" ritorna la rappresentazione URI del pecorso del file immagine trascinato nella "MovieBox", qualora il nome del file immagine contenga uno o più spazi, essi sarebbero riportati con i caratteri %20 (da notare che 20 è il valore ASCII in esadecimale appunto dello spazio).
' Ciò determinerebbe un errore nel successivo metodo "File.Load()". Applica, pertanto, alla stringa ritornata dal metodo "Drag.Paste()" la funzione "FromUrl()":
  percorso = FromUrl(percorso)
  
' Raccoglie la parte della stringa contenente il mero percorso del file immagine:
  percorso = Scan(percorso, "file://*")[0]
   
' Assegna alla "MovieBox" il percorso del file dell'immagine animata:
  MovieBox1.Animation = Animation.Load(Trim(percorso))

End