Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB6] Trasparenza form (effetto dissolvenza)

    Poterte farmi un esempio x realizzare un form che all'avvio appaia con un effetto dissolvenza???
    (Con VB6...)

    GRAZIE!!!

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao Scorpion69,
    posto un esempio di dissolvenza sia all'avvio del prog., sia in chiusura. In un modulo della Frm inserisci un controllo Image che prenda tutta la superfice della Frm, un CmdButton e due Lbl (Label1 Label2). Poi inserisci una Bmp in un file di risorse, che servirà come sfondo della Frm.
    Inserisci nel modulo della Frm:
    codice:
    Dim sglSZ As Single
        Dim sglSZ2 As Single
    '---------------------------------------------------------------
    Private Sub Form_Load()
        ' Stabilisce le dimensioni della Frm:
        With Form1
            .Top = 0
            .Left = 0
            .Height = 11520
            .Width = 15360
        End With
        
        ' Carica Immagine Sfondo - Sfondo7xyy3.bmp:
        Set Form1.Image1.Picture = LoadResPicture(101, vbResBitmap)
        With Form1.Image1
            .Top = 100
            .Left = 100
            .Height = 10620
            .Width = 14880
        End With
         
        Dim t As Single
        
        ' Proprietà della Label con testo scorrevole:
        With Label1
            .AutoSize = True
            .WordWrap = False
            .Caption = "APPLICAZIONI ......    "
            sglSZ = .Width
        End With
        With Label2
            .AutoSize = True
            .WordWrap = False
            .Caption = "Determinazione del .......     "
            sglSZ2 = .Width
        End With
    
    ' La Frm si materializza ed il testo scorre:
        For t = 0 To 254 Step 15
            FormFade Form1, t
            Label1.Width = (t * (sglSZ / 255))
            Label2.Width = (t * (sglSZ2 / 255))
        Next t
        
        't = Opacity = Max 255
        
        Form1.Refresh
        Form1.Image1.Refresh
    End Sub
    '---------------------------------------------------------------
    Private Sub Command1_Click()
    
        Dim p As Single
    
        ' La Frm si Dematerializza ed il testo scorre:
        For p = 0 To 254 Step 15
            FormFade Form1, (255 - p)
            
            Label1.Width = sglSZ - (p * (sglSZ / 255))
            Label2.Width = sglSZ2 - (p * (sglSZ2 / 255))
        Next p
        
        ' Chiude la Frm:
        End
    
    End Sub
    Inserisci in un Modulo bas:
    codice:
    Private Const GWL_EXSTYLE = (-20)
    Private Const LWA_ALPHA = &H2
    Private Const WS_EX_LAYERED = &H80000
    
    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 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
    '------------------------------------------------------------------
    Public Sub FormFade(ByRef frmForm As Form, ByVal Opacity As Long)
        Dim Msg As Long
        frmForm.Show vbModeless
        Msg = GetWindowLong(frmForm.hwnd, GWL_EXSTYLE)
        Msg = Msg Or WS_EX_LAYERED
        SetWindowLong frmForm.hwnd, GWL_EXSTYLE, Msg
        SetLayeredWindowAttributes frmForm.hwnd, 0, Opacity, LWA_ALPHA
        frmForm.Refresh
    End Sub
    LM

  3. #3
    GRAZIE!!!

    Proverò questo codice; se ci dovessero essere problemi ti farò sapere!!!

    CIAO!!!

    Scorpion69

  4. #4
    Solo una cosa non ho capito: che cosa intendi per "inserisci una Bmp in un file di risorse"???

    GRAZIE comunque!!!


  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Con rifrimento a: "che cosa intendi per "inserisci una Bmp in un file di risorse???"
    devi inserire un'immagine nel file di risorse. Procedi in questo modo:
    Progetto> click su Inserisci nuovo file risorse.Vedrai che si apre un modulo .res nel quale dovrai caricare un'immagine .bmp (click sull'icona aggiungi Bitmap) e che gestirai con il codice già inserito nella routine:
    ' Carica Immagine Sfondo - Sfondo7xyy3.bmp:
    Set Form1.Image1.Picture = LoadResPicture(101, vbResBitmap).
    Prova e vedrai che non è difficile.
    LM

  6. #6
    Eppure se vado clicco su PROGETTO non trovo INSERISCI NUOVO FILE DI RISORSE ma comunque posso risolvere il problema caricando un immagine normalmente con LOADPICTURE!!!


  7. #7
    Comunque ho risolto il problema, ho provato il codice che mi avevi postato apportando qualche modifca e funziona alla perfezione!!!

    GRAZIE!!!

    CIAO!!!

    P.S. Sapresti risolvermi il problema di cui ho parlato nella discussione che ho iniziato "[VB6] Spegnimento, riavvia e logoff del PC"???

  8. #8
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Tanto per concludere la discussione relativamente al file di risorse.
    Il predetto comando non lo trovi in quanto non è stato caricato... Click sul menù "Aggiunte" della ToolB>Gestione Aggiunte ... e carica "Editor di risorse VB6". Ora trovi il comando nella posizione predetta.
    LM

  9. #9
    Originariamente inviato da LMondi
    Tanto per concludere la discussione relativamente al file di risorse.
    Il predetto comando non lo trovi in quanto non è stato caricato... Click sul menù "Aggiunte" della ToolB>Gestione Aggiunte ... e carica "Editor di risorse VB6". Ora trovi il comando nella posizione predetta.
    Missione compiuta!!!


  10. #10
    bello il codeice della form semitrasparente.....

    dal codice sembrerebbe di no, ma magari, esiste un qualcosa di similare che possa funzionare con l'uusercontrol di un activex... nel senso, io vorrei che il mio activex, poteesse essere trasparente, mentre il resto della form, rimane normale...


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.