Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB6]-Creazione form trasparente

    salve amici..
    sto cercando un aiuto su come creare una form trasparente. Cioè vorrei creare una form splash ke dal nulla appaia man mano, mettete caso la trasparenza iniziale della form alla mia apertura del programma è 0%, dopodichè passa a 10%, poi 20% poi via via sempre di più x arrivare completamente visibile al 100%

    Qualche aiuto? xegallo confido in te

    #include <cervello.h>

  2. #2
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Prova questo: ATTENZIONE, funziona solo con windows XP/2000

    codice:
    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 crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
    
    Private Const GWL_EXSTYLE = (-20)
    Private Const WS_EX_LAYERED = &H80000
    Private Const LWA_ALPHA = &H2&
    
    Public livello As Integer
    
    Private Sub Form_Load()
    'SOLO WIN XP/2000
    Dim LEVEL As Byte
    LEVEL = 0 '(da 0= completamente trasp. A 255= complt. solido)
    livello = LEVEL
    Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED)
    
    Call SetLayeredWindowAttributes(Me.hwnd, 0, LEVEL, LWA_ALPHA)
    Timer1.Interval = 100 
    Timer1.Enabled = True
    End Sub
    
    Private Sub Timer1_Timer()
    
    Dim LEVEL As Byte
    LEVEL = livello + 10  '(da 0= completamente trasp. A 255= complt. solido)
    livello = LEVEL
        If livello = 250 Then
        LEVEL = 255
        Timer1.Enabled = False
        End If
        
    Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED)
    
    Call SetLayeredWindowAttributes(Me.hwnd, 0, LEVEL, LWA_ALPHA)
    
    End Sub
    Modificando i due valori che ho segnato in rosso puoi accelerare o decelerare la "materializzazione" del form...
    Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke

  3. #3
    mi ti cooooooooooooooo!
    magicooooooooooooooooo!
    grazieeeeeeeeeeeeeeeee!

    ps. una domanda... ma se io lo compilo sotto win xp e lo lancio sotto ambiente win98 cosa succede? Mi apre il programma almeno?

    #include <cervello.h>

  4. #4
    Utente di HTML.it L'avatar di goku370
    Registrato dal
    Oct 2003
    Messaggi
    569
    Non saprei...
    per sicurezza puoi mettere un "On Error Goto"

    Una tecnologia sufficientemente avanzata è indistinguibile dalla magia. Terza legge di Clarke

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.