Differenze tra le versioni di "Semitrasparenza di un Form"

Da Gambas-it.org - Wikipedia.
Riga 30: Riga 30:
 
   
 
   
 
   Me.Opacity = 50
 
   Me.Opacity = 50
 +
 +
<FONT Color=gray>''Volendo, è possibile eliminare i bordi dal "Form":''</font>
 +
  Me.Border = False
 +
 +
End
 +
 +
==Ottenere un ''Form'' trasparente contenente un'immagine semitrasparente==
 +
Se invece si vuole che il ''Form'' sia trasparente e che la sola immagine, su di esso mostrata, risulti semitrasparente, allora il codice precedente sarà così modificato, assegnando alla Proprietà ".Transparent" del ''Form'' il valore "True":
 +
  Private PictureBox1 As PictureBox
 +
 +
 +
Public Sub Form_Open()
 +
 +
  Dim im As Image
 +
 +
  im = Image.Load("<FONT Color=gray>''/percorso/del/file/immagine/semitrasparente.PNG''</font>")
 +
 +
  With PictureBox1 = New PictureBox(Me) As "PictureBox1"
 +
    .X = 100
 +
    .Y = 100
 +
    .W = im.W
 +
    .H = im.H
 +
    .Image = im
 +
  End With
 +
 +
  Me.Transparent = <FONT Color=#B22222>True</font>
 
   
 
   
 
  <FONT Color=gray>''Volendo, è possibile eliminare i bordi dal "Form":''</font>
 
  <FONT Color=gray>''Volendo, è possibile eliminare i bordi dal "Form":''</font>

Versione delle 03:34, 23 giu 2023

Per ottenere la semitrasparenza di un Form, si può assegnare alla sua Proprietà ".Opacity" [nota 1] un valore inferiore a 128 procedere facilmente come segue:

Public Sub Form_Open()

 Me.Opacity = 50

Volendo, è possibile eliminare i bordi dal "Form":
 Me.Border = False

End

Ottenere un Form semitrasparente contenente un'immagine semitrasparente

Il caso in questione è quello in cui si intende mostrare un'immagine semitrasparente su un Form che sia esso stesso semitrasparente.
L'immagine semitrasparente, contenuta in un file immagine di formato PNG e caricata in una PictureBox, è caratterizzata dallo sfondo trasparente con una rappresentazione grafica (disegno o foto) semitrasparente, che sarà mostrata sul Form.

Private PictureBox1 As PictureBox


Public Sub Form_Open()

 Dim im As Image

 im = Image.Load("/percorso/del/file/immagine/semitrasparente.PNG")

 With PictureBox1 = New PictureBox(Me) As "PictureBox1"
   .X = 100
   .Y = 100
   .W = im.W
   .H = im.H
   .Image = im
 End With

 Me.Opacity = 50

Volendo, è possibile eliminare i bordi dal "Form":
 Me.Border = False

End

Ottenere un Form trasparente contenente un'immagine semitrasparente

Se invece si vuole che il Form sia trasparente e che la sola immagine, su di esso mostrata, risulti semitrasparente, allora il codice precedente sarà così modificato, assegnando alla Proprietà ".Transparent" del Form il valore "True":

 Private PictureBox1 As PictureBox


Public Sub Form_Open()

 Dim im As Image

 im = Image.Load("/percorso/del/file/immagine/semitrasparente.PNG")

 With PictureBox1 = New PictureBox(Me) As "PictureBox1"
   .X = 100
   .Y = 100
   .W = im.W
   .H = im.H
   .Image = im
 End With

 Me.Transparent = True

Volendo, è possibile eliminare i bordi dal "Form":
 Me.Border = False

End


Note

[1] Sulla Proprietà ".Opacity" del Form leggere la seguente pagina: https://gambaswiki.org/wiki/comp/gb.qt4/window/opacity