Uso della classe Clipboard

Da Gambas-it.org - Wikipedia.

La Classe Clipboard consente di gestire gli appunti memorizzati (ossia la clipboard) di sistema.


L'uso della Classe Clipboard può avvenire per copiare negli appunti di sistema mediante la sua funzione .Copy() un testo oppure un'immagine. Successivamente attraverso la funzione .Paste() potranno essere restituiti i dati precedentemente copiati. Nel caso sia stata copiata un'immagine, verrà restituita un'immagine di tipo Image.


Copia di dati all'interno dello stesso applicativo Gambas

Si potranno copiare dati presenti in un oggetto dell'applicativo Gambas per immetterli in un altro oggetto dello stesso applicativo.

Poniamo come esempio il caso in cui sul Form si abbiano due PictureBox, in una delle quali è presente un'immagine. Si intende semplicemente far mostrare all'applicativo nella seconda PictureBox l'immagine presente nella prima PictureBox, attraverso la copia negli appunti del sistema dell'immagine da assegnare poi alla seconda PictureBox:

Public Sub Button1_Click()
  
' Facciamo una copia dell'immagine negli appunti (clipboard) di sistema:
   Clipboard.Copy(PictureBox1.Picture.Image)
 
End


Public Sub PictureBox2_MouseUp()

 Dim i As Image
   
' Assegnamo ad una variabile di tipo "Image" la copia dell'immagine posta negli appunti di sistema:
   i = Clipboard.Paste()
   
' Assegnamo l'immagine alla seconda "PictureBox" presente nel Form:
   PictureBox2.Picture = i.Picture

End


Volendo invece fare l'esempio con un testo, poniamo il caso di avere un ValueBox ed una Label. Intendiamo copiare il contenuto del ValueBox nella Label attraverso l'uso della Classe Clipboard:

Public Sub ValueBox1_MouseUp()

  Clipboard.Copy(CStr(ValueBox1.Value))

End


Public Sub Label1_MouseUp()

  Label1.Text = Clipboard.Paste()

End


Copia di dati dall'esterno dell'applicativo Gambas all'interno dell'applicativo medesimo

Si potranno, inoltre, copiare dati stringa presenti all'esterno dell'applicativo Gambas per immetterli in un oggetto dello stesso applicativo. |1|

Poniamo come esempio il caso in cui si intende copiare un testo, presente in un altro programma Gambas, all'interno dell'applicativo Gambas. In tal caso basterà evidenziare la riga di testo prescelta, premere i tasti ctrl+C oppure usare l'opzione Copy presente nella finestrina cliccando il tasto destro del mouse; quindi usare la semplice funzione .Paste() della Classe Clipboard:

Public Sub Label1_MouseUp()

  Label1.Text = Clipboard.Paste()

End


Note

[1] Si è notato che, volendo copiare del testo, utilizzando la Classe Clipboard, da un qualsiasi programma (non Gambas) esterno in un applicativo Gambas, si otterrà come risultato finale non solo il testo copiato, ma anche altri dati estranei legati al codice di formattazione del testo medesimo ed imposti dal programma esterno non-Gambas che sta mostrando il testo.