Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    152

    [vb6] Colore di sfondo del form opaco

    Ciao a tutti in rete ho trovato questo codice che rende un form (e tutti i suoi controlli opaco)

    codice:
    Option Explicit
    
    Private Const GWL_EXSTYLE As Long = (-20)
    Private Const WS_EX_RIGHT As Long = &H1000
    Private Const WS_EX_LEFTSCROLLBAR As Long = &H4000
    Private Const WS_EX_LAYERED As Long = &H80000
    Private Const WS_EX_TRANSPARENT = &H20&
    Private Const LWA_COLORKEY As Long = &H1
    Private Const LWA_ALPHA As Long = &H2
    
    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 Long, _
    ByVal dwFlags As Long) As Long
    
    Private Sub Form_Load()
    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
    End Sub
    Ma nel caso in cui vorrei rendere solo il colore di sfondo del form ? e lasciare intatti i controlli che potrei fare ?

  2. #2
    Ormai non programmo più in VB6, ma quando programmavo io lo sfondo del form era opaco..ora non più? Cosa intendi di preciso? Forse trasparente..

    E poi il codice lo hai preso da una vecchia discussione qui su HTML, vero?

    In ogni caso cerca su MSDN la documentazione della funzione API che usi, magari li c'è scritto se è possibile escludere i controlli posizionati sul form..

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    152
    Sinceramente l'ho trovato da qualche parte su internet che non ricordo dove xD, l'ho trovato ieri sera, ho meglio ne ho trovati vari ma alla fine questo fa quello che mi serviva per opaco intendo semitrasparente

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da gprox
    ma alla fine questo fa quello che mi serviva per opaco intendo semitrasparente
    Cioè praticamente il contrario!

    Comunque quel codice non serve al tuo scopo.

    Scarica questo progetto in VB6 (richiede l'iscrizione).
    http://www.visual-basic.it/areadownl...trasparentForm


  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    152
    Grazie gibra ma non era questo quello che volevo fare xD, allora provo a spiegarmi meglio ..
    io ho un form dove ho solo un componente ShockwaveFlash con wmode = Transparent, e carico un animazione in swf con frame che sono semitrasparenti o meno.

    Successivamente ho reso il form trasparente in questo modo si vedeva solamente l'animazione che potevo sovrapporre a qualunque cosa =), solo che ho riscontrato un piccolo difetto cioè che nei frame dove l'animazione è semitrasparente non vi è sotto il colore che ne so .. del desktop .. ma il colore del form iniziale una spece di giallino .. e quindi pensavo per risolvere questo problema di impostare il colore di sfondo semitrasparente.

    O almeno io pensavo di risolvere così questo problema .. se c'è qualcosa che ho espresso malamente dimmi pure =)

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    152
    ehm qualcuno che mi aiuta ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.