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

Da Gambas-it.org - Wikipedia.
Riga 13: Riga 13:
 
  '''Public''' Sub PictureBox1_Drop()
 
  '''Public''' Sub PictureBox1_Drop()
 
   
 
   
   Dim dati As String
+
   Dim percorso As String
 
    
 
    
   dati = Drag.Paste("text/uri-list")
+
   percorso = 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,''
+
  <FONT color=gray>' ''Poiché il metodo "Drag.Paste()" ritorna la rappresentazione URI del pecorso del file immagine trascinato nella "PictureBox",''
  ' ''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)''.
+
  ' ''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()". Applichiamo, pertanto, alla stringa ritornata dal metodo "Drag.Paste()" la funzione "FromUrl()":''</font>
 
  ' ''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)
 
   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>
   dati = Scan(dati, "file://*")[0]
+
   percorso = Scan(percorso, "file://*")[0]
 
      
 
      
   PictureBox1.Picture = Picture.Load(Trim(dati))
+
   PictureBox1.Picture = Picture.Load(Trim(percorso))
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 18:33, 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 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 "PictureBox",
' 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()". 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:
  percorso = Scan(percorso, "file://*")[0]
   
  PictureBox1.Picture = Picture.Load(Trim(percorso))

End