Differenze tra le versioni di "Semitrasparenza di un Form"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per ottenere la ''semitrasparenza'' di un Form, si può procedere facilmente come segue:
+
Per ottenere la ''semitrasparenza'' di un ''Form'', si può assegnare alla sua Proprietà ".Opacity" <SUP>&#091;[[#Note|nota 1]]&#093;</sup> un valore inferiore a 128, come segue:
* applicare al ''Form'' un'immagine semitrasparente di tipo ''.png''. L'immagine ''semitrasparente'' è caratterizzata dallo sfondo trasparente con un'immagine visibile che sarà quella, da noi scelta, come ''Form'' effettivamente visibile dell'applicativo;
+
Public Sub Form_Open()
* impostare la proprietà ''Mask'' del ''Form'' a ''True''.
+
 +
  Me.Opacity = 50
 +
 +
<FONT Color=gray>''Volendo, è possibile eliminare i bordi dal "Form":''</font>
 +
  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.
 +
<BR>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("<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.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>
 +
  Me.Border = False
 +
 +
End
 +
 
 +
 
 +
 
 +
=Note=
 +
[1] Sulla Proprietà ".Opacity" del ''Form'' leggere la seguente pagina: https://gambaswiki.org/wiki/comp/gb.qt4/window/opacity

Versione attuale delle 04:35, 23 giu 2023

Per ottenere la semitrasparenza di un Form, si può assegnare alla sua Proprietà ".Opacity" [nota 1] un valore inferiore a 128, 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