Search:
 
Principal
Noticias / Formulário Transparente com Controles Visiveis / /

Apresento aqui para voces, um recurso interessante que desenvolvi. Ele remove o fundo do form e deixa os objetos flutuando no seu espaço.

Trabalho baseado e inspirado na técnica do colega Craig Boyd.: http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,9a91dea3-6413-42e9-aeff-f0097937474d.aspx

Mais abaixo segue o download deste exemplo, mas tentarei explicar-lhes como fiz.

Percebam abaixo o fundo do form na cor rosa (rgb(255,128,255)) e objetos no espaço do form sobrepondo estas áreas pintadas:

Agora, abaixo vejam a execução do form acima:

Como fiz isso? Bem, utilizando GDI32.dll

Declarações das DLLs e suas funções:
DECLARE LONG
CreateRectRgn IN "gdi32" LONG X1, LONG Y1, LONG X2, LONG Y2
DECLARE LONG CombineRgn IN "gdi32" LONG hDestRgn, LONG hSrcRgn1, LONG hSrcRgn2, LONG nCombineMode
DECLARE LONG DeleteObject IN "gdi32" LONG hObject
DECLARE LONG SetWindowRgn IN "user32" LONG HWND, LONG hRgn, Integer bRedraw

Depois, se faz uma verificação de ponto-a-ponto do form, verificando se o presente ponto é da cor a ser substituido pelo transparente, no caso: rosa (rgb(255,128,255)) .

Baixem aqui o exemplo e vão ver o quanto é simples... (Só 5kb)

Um abraço.

Autor:Rafael Lippert
Relacionados
Noticias :
- My Namespace
- Porque usar o Visual FoxPro
Documento sem título

Rafael Lippert
rafaellippert@gmail.com