Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [vb6] Form Trasparente

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    107

    [vb6] Form Trasparente

    Salve a tutti..
    Come posso rendere trasparente (o quasi) un form e tutti gli oggetti che contiene ad esempio mentre lo trascino??
    Esiste un qualche modo magari ank non troppo pesante???

    ciao

  2. #2
    solo per win2000 e xp
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    107
    è per un programma che andrà solo su xp..

  4. #4
    codice:
    Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
      ByVal hWnd As Long, _
      ByVal nIndex As Long, _
      ByVal dwNewLong As Long _
    ) As Long
    
    Declare Function SetWindowPos Lib "user32" ( _
      ByVal hWnd As Long, _
      ByVal hWndInsertAfter As Long, _
      ByVal X As Long, _
      ByVal Y As Long, _
      ByVal CX As Long, _
      ByVal CY As Long, _
      ByVal wFlags As Long _
    ) As Long
    
    Private Const GWL_EXSTYLE = (-20)
    
    Private Const WS_EX_CLIENTEDGE = &H200
    Private Const WS_EX_STATICEDGE = &H20000
    Private Const WS_EX_TRANSPARENT = &H20&
    Private Const SWP_NOMOVE = &H2
    Private Const SWP_NOSIZE = &H1
    Private Const SWP_FRAMECHANGED = &H20
    Private Const SWP_SHOWME = SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE
    
    Public Function MakeTransparent(ByVal hWnd As Long)
      SetWindowLong hWnd, GWL_EXSTYLE, WS_EX_TRANSPARENT
      SetWindowPos hWnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, SWP_SHOWME
    End Function
    se lo metti in un form ricorda di mettere private prima delle dichiarative

    per rendere il form trasparente

    codice:
        call MakeTransparent(me.hWnd)
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    107
    grazie mille..
    adesso lo provo..

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    107
    non dovrebbo essere

    Call MakeTransparent(Me.hWnd)
    ???

    cmq secondo me ho sbagliato qualcosa perche non fa nulla..

    il codice che mi hai scritto l'ho copiato pari pari in un modulo,
    e la riga qui sopra l'ho messa in form_load..

  7. #7
    allora prova così (mi spiace non posso testarlo)

    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&
    
    
    Private Sub Command1_Click()
    Dim LEVEL As Byte
    LEVEL = 120
    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
    per documentazione
    http://msdn.microsoft.com/library/de...Attributes.asp
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    107
    grazie mille!!

    adesso tutto ok!!

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.