Guest Seia Postado Julho 17, 2004 Denunciar Share Postado Julho 17, 2004 tem como deixar um form transparente...tipo....tenho duas telas do meu soft...a segunda tela ativa ficaria transparente, vendo a tela de baixo com uns 50% de transparencia por exemplo...valeu......... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Julho 17, 2004 Denunciar Share Postado Julho 17, 2004 Sim, mas só a partir do Windows 2000 (XP, 2003, etc.). No caso do VB.NET, basta alterar a propriedade Opacity. No caso do VB6, você pode usar o seguinte (coloque esse código todo em um módulo e use a rotina ChangeTransparency, passando a propriedade hWnd do form e o nível de transparência [de 0 a 255]):Private Const GWL_EXSTYLE = (-20) Private Const WS_EX_LAYERED = &H80000 Private Const WS_EX_TRANSPARENT = &H20& Private Const LWA_ALPHA = &H2& Private Const SWP_HIDEWINDOW = &H80 Private Const SWP_SHOWWINDOW = &H40 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 Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long ' Alpha blending related Private Type rBlendProps tBlendOp As Byte tBlendOptions As Byte tBlendAmount As Byte tAlphaType As Byte End Type Private Declare Function AlphaBlend Lib "msimg32" (ByVal hDestDC As Long, _ ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _ ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal widthSrc As Long, _ ByVal heightSrc As Long, ByVal blendFunct As Long) As Boolean Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Public Sub ChangeTransparency(ByVal LhWnd As Long, ByVal bLevel As Byte) Dim lOldStyle As Long If (LhWnd <> 0) Then lOldStyle = GetWindowLong(LhWnd, GWL_EXSTYLE) SetWindowLong LhWnd, GWL_EXSTYLE, lOldStyle Or WS_EX_LAYERED SetLayeredWindowAttributes LhWnd, 0, bLevel, LWA_ALPHA UpdateWindow LhWnd End If End SubAbraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Julho 19, 2004 Denunciar Share Postado Julho 19, 2004 Boa GraymalkinSim, mas só a partir do Windows 2000 (XP, 2003, etc.). No caso do VB.NET, basta alterar a propriedade Opacity.Bem lembrado brother... Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Seia
tem como deixar um form transparente...tipo....
tenho duas telas do meu soft...a segunda tela ativa ficaria transparente, vendo a tela de baixo com uns 50% de transparencia por exemplo...
valeu.........
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.