janela transparente

Delphi

21/08/2003

Sou iniciante em delphi e gostaria que alguem me desse uma ajuda sobre janelas trasparente tipo do icon,tem como fazer no delphi??Alguem sabe onde tem um codigo,ou como se chama no jargao tecnico este tipo de janela??
ATE


Nihil

Nihil

Curtidas 0

Respostas

Cebikyn

Cebikyn

21/08/2003

Não conheço o tal [i:9eeec19c89]Icon[/i:9eeec19c89], mas se é uma janela trasparente que você quer, eis o código:

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);
end;



GOSTEI 0
Nihil

Nihil

21/08/2003

valeu mesmo pelo codigo


GOSTEI 0
Anderson_blumenau

Anderson_blumenau

21/08/2003

Nao deu certo pra mim esse codigo
precisa declarar alguma biblioteca ou variavel
Estas por exemplo
FullRgn
ClienteRgn
CombineRgn


GOSTEI 0
Paulo Ricardo

Paulo Ricardo

21/08/2003

Pô meu! são variáveis do tipo INTEGER...


GOSTEI 0
Cebikyn

Cebikyn

21/08/2003

[quote:86fece7998=´Paulo Ricardo´]Pô meu! são variáveis do tipo INTEGER...[/quote:86fece7998]

Na verdade são do tipo [b:86fece7998]THandle[/b:86fece7998]. Eis a declaração delas:

private
  { Private declarations }
  FullRgn, ClientRgn, CtlRgn: THandle;


Já [b:86fece7998]CombineRgn[/b:86fece7998] é uma função declarada na [i:86fece7998]unit[/i:86fece7998] Windows.pas.

Acho que declarando as variávei da forma indicada, deve resolver seu problema.


GOSTEI 0
Anderson_blumenau

Anderson_blumenau

21/08/2003

[quote:3107860588=´Paulo Ricardo´]Pô meu! são variáveis do tipo INTEGER... [/quote:3107860588]

Inteiro? Antes de postar qualquer coisa tenha certeza do que está dizendo

ZÉ-GUEDÉ


GOSTEI 0
Cebikyn

Cebikyn

21/08/2003

[quote:a9fb1a1688=´Paulo Ricardo´]Pô meu! são variáveis do tipo INTEGER...


Inteiro? Antes de postar qualquer coisa tenha certeza do que está dizendo

ZÉ-GUEDÉ[/quote:a9fb1a1688]

É verdade.


GOSTEI 0
POSTAR