Differenze tra le versioni di "Mostrare un'immagine con il Drop del suo file in una PictureBox"
Da Gambas-it.org - Wikipedia.
(Creata pagina con '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 ...') |
|||
Riga 16: | Riga 16: | ||
Dim percorso, percorso_controllato As String | Dim percorso, percorso_controllato As String | ||
Dim bb As Byte[] | Dim bb As Byte[] | ||
− | |||
Dim sh As Short | Dim sh As Short | ||
− | + | With bb = Byte[].FromString(s) | |
− | + | .Remove(sh, 16) | |
− | + | percorso = .ToString(7, sh) | |
− | + | End With | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
percorso_controllato = controllo(percorso) | percorso_controllato = controllo(percorso) | ||
Versione delle 15:14, 15 mar 2014
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.
Usando il componente gb.qt4
Se è stato impostato il componente gb.qt4, allora potrà essere utilizzato il seguente codice:
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, percorso_controllato As String Dim bb As Byte[] Dim sh As Short With bb = Byte[].FromString(s) .Remove(sh, 16) percorso = .ToString(7, sh) End With percorso_controllato = controllo(percorso) PictureBox1.Picture = Picture.Load(percorso_controllato) End ' I percorsi dei file contnenti uno o più spazi, oppure caratteri particolari, possono generare errore. ' Questa funzione intende risolvere quel problema. Private Function controllo(percorsoFile As String) As String Dim b As Byte = 1 Dim s1, s2 As String Dim n As Byte While b < Len(percorsoFile) + 1 s1 = String.Mid(percorsoFile, b, 1) If s1 = "%" Then n = Val("&" & Mid(percorsoFile, b + 1, 2)) s1 = Chr(n) b += 2 Endif s2 &= s1 Inc b Wend Return s2 End