Efeito Sombra no Formulário - e possível
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...
é 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
Curtidas 0
Respostas
Alves
30/06/2004
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;
GOSTEI 0
Renam Monteiro
30/06/2004
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...
é 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;
GOSTEI 0