Existe uma maneira de tornar o formulário do usuário que criei para o Excel no Microsoft Visual Basic e torná-lo transparente no aplicativo do Excel?
Atualmente, o formulário deve ser movido ou minimizado para retirá-lo do caminho.
Esse recurso requer o Windows 2000 ou superior.
A opacidade (bytOpacity) pode ser definida no intervalo do tipo Byte, de 0 a 255.
CÓDIGO
Função de declaração privada FindWindow _
Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Função de declaração privada GetWindowLong _
Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Função de declaração privada SetWindowLong _
Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Função de declaração privada SetLayeredWindowAttributes _
Lib "user32" _
(ByVal hWnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Const GWL_EXSTYLE = privado (-20)
Const WS_EX_LAYERED = & H80000
Const LWA_ALPHA = & H2 &
Public hWnd As Long
Sub UserForm_Initialize privado ()
Dim bOpa As Byte
Let bOpa = 192 'variável mantendo a configuração de opacidade
Let hWnd = FindWindow ("ThunderDFrame", Me.Caption)
Call SetWindowLong (Me.hWnd, GWL_EXSTYLE, GetWindowLong (Me.hWnd, GWL_EXSTYLE) ou WS_EX_LAYERED)
Call SetLayeredWindowAttributes (Me.hWnd, 0, bOpa, LWA_ALPHA)
End Sub
Conheça também estes outros códigos:
Série de Livros nut Project
Série DONUT PROJECT 2015
Clique aqui e nos contate via What's App para avaliarmos seus projetos
Nenhum comentário:
Postar um comentário