Oppure

Loading
18/06/08 7:59
ditta_francesca@alice.it
BUONGIORNO A TUTTI!!
sto utilizzando vb 6,
dovrei impostare la trasparenza come background di una rich text box e dei comandi button..ma nn sono in grado..
qualcuno mi potrebbe dare una mano..?? grazie in anticipo
aaa
18/06/08 10:10
GrG
Non so se sia possibile anche io c'ho provato ma penso che non si possa fare, solo il form può diventare trasparente....
aaa
18/06/08 12:57
Louis
Per il controllo RTB - ed altri - puoi usare il seguente codice, mentre per il CmdButton penso che non si possa ottenere la trasparenza:
'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()
    
    RichTextBox1.BackColor = &H80000005
    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

:k:
Ultima modifica effettuata da Louis 18/06/08 12:59
aaa
18/06/08 13:59
chen
Louis il codice da te postato funziona anche con i commandbutton basta che scegli alla proprietà backcolor del command il colore bianco e anche la sua proprietà style a 1(graphical), pero come ho capito il codice da te postato rende trasparente qualsiasi cosa che abbia il colore bianco nel form:k::k:anche se metti uno sfondo bianco al form:k::k:
Ultima modifica effettuata da chen 18/06/08 14:00
aaa
19/06/08 6:39
Louis
chen è così; non credo comunque che sia un errore ma semplicemente una limitazione, peraltro facilmente superabile conferendo alla Frm ed agli altri controlli una sfumatura di grigio e lasciando lo sfondo bianco al solo/soli controllo che si vuole rendere trasparente.
Con qualche prova, poi, si potrebbe personalizzare il codice mirando al solo controllo da rendere trasparente.

:)
aaa