// Buttons können
auf zwei Arten mit einem simplen Schatten hinterlegt // werden. Siehe dazu auch Controls mit Schatten unterlegen // Getestet mit RS 10.4 unter Win11
uses System.UITypes; procedure Schatten(frm: TForm; cntrl: TControl; versatz: Integer; clr: TColor; aussparen: boolean); const rds = 6; var lft, tp, rgt, bt: Integer; merkb, merkp: TColor; begin if (cntrl.Visible) then with frm.Canvas do begin merkb := Brush.Color; merkp := Pen.Color; Brush.Color := clr; Pen.Color := clr; with cntrl.BoundsRect do begin lft := left; tp := top; rgt := right; bt := bottom; end; RoundRect(lft + versatz, tp + versatz, rgt + versatz, bt + versatz, rds, rds); Brush.Color := merkb; if aussparen then begin Pen.Color := merkb; RoundRect(lft + versatz, tp + versatz, Pred(cntrl.BoundsRect.right), Pred(cntrl.BoundsRect.bottom), rds, rds); end; Pen.Color := merkp; end; end; procedure TForm1.FormPaint(Sender: TObject); var i: Integer; aussparen: boolean; begin aussparen := True; for i := 0 to ControlCount - 1 do if Controls[i] is TButton then Schatten(Self, Controls[i], 6, clBtnShadow, aussparen); end; |
||||
Zugriffe seit
6.9.2001 auf Delphi-Ecke |