Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Bravo

Form

Recommended Posts

Formulario Transparente

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

 Label1: TLabel;

 procedure FormShow(Sender: TObject);

 private

 { Private declarations }

 public

 { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormShow(Sender: TObject);

begin

 Brush.Style := BsClear;

end;

end.

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A resposta do nosso amigo Krad Nale esta correta, porém se voce mover o form ele ira ficar com a imagem da primeira atualizacao.

Para poder mover, redimensionar o form tente:

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;

type

 TForm1 = class(TForm)

   procedure FormDestroy(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure FormResize(Sender: TObject);

 private

   { Private declarations }

   procedure DoVisible;

   procedure DoInvisible;

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

 FullRgn, ClientRgn, CtlRgn: THandle;

implementation

{$R *.DFM}

procedure TForm1.DoInvisible;

var

 AControl: TControl;

 A, Margin, X, Y, CtlX, CtlY: Integer;

begin

 Margin := ( Width - ClientWidth ) div 2;

 FullRgn := CreateRectRgn(0, 0, Width, Height);

 X := Margin;

 Y := Height - ClientHeight - Margin;

 ClientRgn := CreateRectRgn( X, Y, X + ClientWidth, Y + ClientHeight );

 CombineRgn( FullRgn, FullRgn, ClientRgn, RGN_DIFF );

 for A := 0 to ControlCount - 1 do

 begin

   AControl := Controls[A];

   if ( AControl is TWinControl ) or ( AControl is TGraphicControl ) then

     with AControl do

     begin

       if Visible then

       begin

         CtlX := X + Left;

         CtlY := Y + Top;

         CtlRgn := CreateRectRgn( CtlX, CtlY, CtlX + Width, CtlY + Height );

         CombineRgn( FullRgn, FullRgn, CtlRgn, RGN_OR );

       end;

     end;

 end;

 SetWindowRgn(Handle, FullRgn, TRUE);

 Form1.Caption := 'Dont Show Form';

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

 DeleteObject(ClientRgn);

 DeleteObject(FullRgn);

 DeleteObject(CtlRgn);

end;

procedure TForm1.DoVisible;

begin

 FullRgn := CreateRectRgn(0, 0, Width, Height);

 CombineRgn(FullRgn, FullRgn, FullRgn, RGN_COPY);

 SetWindowRgn(Handle, FullRgn, TRUE);

 Form1.Caption := 'Show Form';

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

 DoInvisible;

end;

procedure TForm1.FormResize(Sender: TObject);

begin

 if Form1.Caption = 'Dont Show Form' then

    DoInvisible

 else

    DoVisible;

end;

end.

Espero que isso ajude :)

[]s

Mac Logic

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara esqueci de dizer uma coisa.. tipo esse cara vai criar um form completamente transparente e tal..

se você quiser um degrade (ou fume, transparente gradual, sei la como chama issow) eu posso te mandar um componente chamado Glassy, nele voce define a transparencia do form e tal..

Outra coisa é q se você estiver usando Delphi 6 você pode usar a propria propriedade do form chamada "AlphaBlend" (transparencia) e "AlphaBlendValue" (% de transparencia).. porém so funciona para Win2000 e superior.. alem de ficar mais lento..

[]s

Mac Logic

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×