Per rendere trasparente il controllo Pic (ed altri) si può utilizzare le seguenti funzioni, con l'accortezza che il colore di sfondo dei controlli sia necessariamente bianco, come segue:
codice:
Option Explicit

'Il colore iniziale di sfondo dei controlli,
'per ottenere la trasparenza, deve essere bianco:

Const LWA_COLORKEY = &H1
Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
' -----------------------------------------------------------
Private Sub Form_Load()

Frame1.BackColor = &HFFFFFF
Dim Ret As Long
    
    Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
    Ret = Ret Or WS_EX_LAYERED
    SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
    SetLayeredWindowAttributes Me.hWnd, 0, 128, LWA_ALPHA
    SetLayeredWindowAttributes Form1.hWnd, &HFFFFFF, 0, LWA_COLORKEY
End Sub