janela transparente
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
ATE
Nihil
Curtidas 0
Respostas
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
21/08/2003
valeu mesmo pelo codigo
GOSTEI 0
Anderson_blumenau
21/08/2003
Nao deu certo pra mim esse codigo
precisa declarar alguma biblioteca ou variavel
Estas por exemplo
FullRgn
ClienteRgn
CombineRgn
precisa declarar alguma biblioteca ou variavel
Estas por exemplo
FullRgn
ClienteRgn
CombineRgn
GOSTEI 0
Paulo Ricardo
21/08/2003
Pô meu! são variáveis do tipo INTEGER...
GOSTEI 0
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:
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.
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
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É
Inteiro? Antes de postar qualquer coisa tenha certeza do que está dizendo
ZÉ-GUEDÉ
GOSTEI 0
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