Differenze tra le versioni di "Mostrare un'immagine con il Drop del suo file in una PictureBox"

Da Gambas-it.org - Wikipedia.
Riga 16: Riga 16:
 
    
 
    
 
   dati = Drag.Paste("text/uri-list")
 
   dati = Drag.Paste("text/uri-list")
 +
 
 +
<FONT color=gray>' ''Poiché il metodo "Drag.Paste()" ritorna la rappresentazione URI del pecorso del file di testo trascinato nell'oggetto di testo,''
 +
' ''qualora il nome del file di testo 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()". Applichiamo, pertanto, alla stringa ritornata dal metodo "Drag.Paste()" la funzione "FromUrl()":''</font>
 +
  percorso = FromUrl(percorso)
 
    
 
    
 
  <FONT color=gray>' ''Raccogliamo la parte della stringa contenente il mero percorso del file immagine:''</font>
 
  <FONT color=gray>' ''Raccogliamo la parte della stringa contenente il mero percorso del file immagine:''</font>

Versione delle 18:26, 8 nov 2016

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


Mostriamo un semplice esempio:

Public Sub Form_Open()

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

End


Public Sub PictureBox1_Drop()

 Dim dati As String
  
  dati = Drag.Paste("text/uri-list")
  
' Poiché il metodo "Drag.Paste()" ritorna la rappresentazione URI del pecorso del file di testo trascinato nell'oggetto di testo,
' qualora il nome del file di testo 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()". Applichiamo, pertanto, alla stringa ritornata dal metodo "Drag.Paste()" la funzione "FromUrl()":
  percorso = FromUrl(percorso)
  
' Raccogliamo la parte della stringa contenente il mero percorso del file immagine:
  dati = Scan(dati, "file://*")[0]
   
  PictureBox1.Picture = Picture.Load(Trim(dati))

End