Tabela de Conteúdos
Formulários Translúcidos
Criar um módulo novo e adicionar o seguinte código
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal Hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Public Const GWL_EXSTYLE = -20 Public Const WS_EX_LAYERED = &H80000 Public Const LWA_ALPHA = &H2 Sub MakeTransparent(ByRef Hwnd As Long, ByRef Transparencia As Byte) SetWindowLong Hwnd, GWL_EXSTYLE, WS_EX_LAYERED SetLayeredWindowAttributes Hwnd, 0, Transparencia, LWA_ALPHA End Sub
As instruções Public Declare são as APIs necessárias para criar a transparência nas janelas.
As instruções Public Const são as constantes necessárias para passar às APIs para que possam criar o efeito de transparência.
Após crido o módulo, adicionar um CommandButton
no formulário principal e adicionar o seguinte:
Private Sub Command1_Click() MakeTransparent Me.Hwnd, 50 End Sub
O Número 50
pode ser substituído por qualquer valor entre 0 e 255 e serve para dizer o quão transparente queremos o formulário.
Quanto menor o valor, maior a transparência.
Nota
hWnd
é o window handle, da janela a ser aplicada a transparência. O Window Handle é uma espécie de endereço que o sistema operativo utiliza para poder fazer operações com janelas. Cada janela tem um endereço Window Handle único.