GARANTIR DESCONTO

Fórum janela transparente #176345

21/08/2003

0

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

Responder

Posts

21/08/2003

Cebikyn

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;



Responder

Gostei + 0

23/08/2003

Nihil

valeu mesmo pelo codigo


Responder

Gostei + 0

24/08/2003

Anderson_blumenau

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


Responder

Gostei + 0

24/08/2003

Paulo Ricardo

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


Responder

Gostei + 0

24/08/2003

Cebikyn

[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.


Responder

Gostei + 0

24/08/2003

Anderson_blumenau

[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É


Responder

Gostei + 0

26/08/2003

Cebikyn

[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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar