Buscar

Como vazar um form usando letras

Código

Procedure TForm1.FormPaint(sender: TObject);
var
r : hrgn;
begin
// para pintar em qualquer lugar use GetWindowDC e passe o
// handle do local a ser pintado.
with canvas do begin
Handle := GetWindowDC(Form1.handle);
SetBkMode(handle,TRANSPARENT);
SetPolyFillMode(handle,WINDING);
// marca o inicio do "molde"
BeginPath(handle);
// escreve com a fonte, tamanho e estilo do local a ser pintado
// caso queira mudar a fonte use (neste caso estamos pintando no form)
// Form1.font.name := 'Arial'; //nome da fonte desejada
// Form1.font.size := 36;
// Form1.font.color := clBlue; // cor desejada
TextOut(10,100,'Delphi');
// A área de pintura deve ser a área original do componente ou
// form, se passar não vai aparecer.
EndPath(handle); // fim do "molde"
// A diferença vem agora, trasformamos o path em região e
// trabalhamos como em uma imagem.
r := PathToRegion(Canvas.handle);
FillPath(handle);
// Agora podemos "recortar" o form
// a janela fica na forma do que foi escrito.
SetWindowRGN(Form1.handle,r,true);
// lembre-se de colocar meios de se fechar a janela, já que o botão // fechar também será destruido. o alt+tab continua ativando o // menu do sistema.
end; // fim do with
 
end;
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 18/07/03
Por: Jefferson Agostinho
Visualizada: 2568 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009