// Mit dem folgenden Code kann man bestimmte rechteckige Controls
//
(hier TSpeedbutton, aber auch z.B. TImage) mit Schatten unterlegen.

// siehe aber W11-Buttons mit simplen Schatten



// Getestet mit D4 unter XP

procedure Schatten(frm: TForm; cntrl: TControl; versatz: Integer; clr: TColor); 
var 
  rct: TRect; 
  merk: TColor; 
begin 
  if (cntrl.Visible) then 
  begin 
    rct := cntrl.BoundsRect; 
    offsetrect(rct, versatz, versatz); 
    merk := frm.Canvas.Brush.Color; 
    frm.Canvas.Brush.Color := clr; 
    frm.Canvas.fillrect(rct); 
    frm.Canvas.Brush.Color := merk; 
  end; 
end; 
 
procedure TForm1.FormPaint(Sender: TObject); 
var 
  i: Integer; 
begin 
  for i := 0 to ControlCount - 1 do 
    if Controls[i] is TSpeedButton then 
      Schatten(Self, Controls[i], 4, clBtnShadow); 
end; 



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke