Efeito Sombra no Formulário - e possível

30/06/2004

0

Amigos,
é possível colocar o efeito sombra no formulário... não estou utilizando as bordas no forme, mas como ele não ocupa toda tela tela fica com a aparencia estranha... isso é possível? alguem pode me passar uma dica..

Obrigado...


Ant.neto

Ant.neto

Responder

Posts

01/07/2004

Alves

Talvez Isso te Ajude. Vai ter q adaptar pq gera sombras em todos os componentes do Form.

procedure ShadeIt(f: TForm; c: TControl; Width: Integer; Color: TColor); var rect: TRect; old: TColor; begin if (c.Visible) then begin rect := c.BoundsRect; rect.Left := rect.Left + Width; rect.Top := rect.Top + Width; rect.Right := rect.Right + Width; rect.Bottom := rect.Bottom + Width; old := f.Canvas.Brush.Color; f.Canvas.Brush.Color := Color; f.Canvas.fillrect(rect); f.Canvas.Brush.Color := old; end; end; procedure TForm1.FormPaint(Sender: TObject); var i: Integer; begin for i := 0 to Self.ControlCount - 1 do ShadeIt(Self, Self.Controls[i], 3, clBlack); end;



Responder

17/01/2021

Renam Monteiro

Amigos,
é possível colocar o efeito sombra no formulário... não estou utilizando as bordas no forme, mas como ele não ocupa toda tela tela fica com a aparencia estranha... isso é possível? alguem pode me passar uma dica..

Obrigado...



procedure shadow(obj: TWinControl; Cor: TColor = clBlack;t:Integer = 3);
var
r: TRect;
begin
r.Top := obj.Top + t;
r.Left := obj.Left + t;
r.Right := obj.Left + obj.Width + t;
r.Bottom := obj.Top + obj.Height + t;
TCustomControl(obj.Parent).Canvas.Pen.Color := Cor;
TCustomControl(obj.Parent).Canvas.Brush.Color := Cor;
TCustomControl(obj.Parent).Canvas.Rectangle(r);
end;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar