• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Syntax_Error

[vb 6] API, Forms translúcidas

4 mensagens neste tópico

Boas... desde já felicito P@P porque acho que deviam existir mais redes de programadores assim! :cheesygrin: Agora, relativamente ao Post que aqui venho fazer é apenas uma sugestão na definição de forms translúcidas/transparentes já que sempre ajuda no design das mesmas.

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 crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

GWL_EXSTYLE = (-20)
WS_EX_LAYERED = &H80000

Estas Apis e as respectivas constantes são o requerido para criar translucidez nas forms.

1º Guarda-se o valor original da janela: return=GetWindowLong(hWnd,GWL_EXSTYLE)

2º Define-se a janela como camada: SetWindowLong hWnd,GWL_EXSTYLE,WS_EX_LAYERED or return

3º Aplica-se a transparência: SetLayeredWindowAttributes Hwnd, ColorKey, bTransp, TransTag

NOTA: hWnd é o handle da janela a ser aplicada a transparência

          TransTag define se SetLayeredWindowAttributes deve aplicar a transparência segundo o canal Alpha (bTransp) ou segundo o canal RGB (ColorKey)

          ColorKey é a cor que será totalmente transparente quando TransTag = 1

          bTransp é o valor (bytes) da transparência a ser aplicada quando TransTag = 2

          TransTag pode ser 3 (Both) e usufruir, portanto, de transparência e de translucidez.

Espero que tenha servido para ajudar nalguma coisa! Abraços a todos e continuem o belo trabalho!! ;) :smoke:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem vindo á comunidade!

Comecas-te com um bom post sim senhor! :cheesygrin:

(mudado para tutoriais. Não, não fizes-te o post no sitio errado, convem ser alguem do stuff a mover os topicos para lá para não nos esquecer-mos de adicionar no indice ;) )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Em primeiro lugar bem-vindo ao forum. :cheesygrin:

Foi um grande 1º post, sem dúvida. Um exemplo para alguns dos membros que cá andam e que ainda não aprenderam a fazer posts em condições, mesmo com um tutorial que já criei.

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora