drag on Canvas / Image Well

Ciao Antonio,
un cliente mi chiede di poter trascinare il file di un’immagine dal finder del Mac sopra un Canvas o una Image Well.

Per cortesia sai dirmi se esiste un modo per farlo?

grazie
Enzo

Semplice:
dichiari il file type per indicare il tipo di immagini che puoi ricevere
Diciamo che accetti jpeg e png e che questi tipi li aggiungi al filetype filesImmagini

Nell’evento Open del canvas aggiungi: me.acceptFileDrop filesImmagini.all (per indicare che accetti i file di tipo immagine)

Nell’evento DropObject del canvas hai, quando viene trascinato un file, che il parametro obj ha la propriet FolderItemAvailable vera per cui puoi verificare che il file sia di tipo giusto (confrontando con i names di filesImmagini) (questo per ulteriore verifica)
Se tutto ok crei una variabile di tipo picture e cerchi di aprire l’immagine
Ad esempio:
dim p as picture=Picture.open(obj.FolderItem)
se p<>nil allora hai l’immagine da disegnare in qualche modo sul canvas

Puoi vedere questo post: https://www.xojoitaliablog.com/utilizzare-i-file-type-e-i-container-control/ dove trovi un esempio del codice di controllo in dropObject e il filmato di un tutorial per (tra le altre cose) mostrare su un canvas un’immagine.

Nel filmato l’editor dei tipi di file quello precedente, ma alla fine dovresti identificare le parti giuste

Ciao Antonio,
grazie mille…
si incredibilmente semplice e funziona benissimo

Avrei un’altra richiesta da farti,
come posso fare per abilitare il canvas a ricevere l’immagine dal copia/incolla ?

Grazie
Enzo