How to Create a Gradient Form
In setup programs or sometimes in AboutBoxes you can find gradient forms.
It sure looks as if it were a lot of work but it’s really very easy. All you have to do is add this code to your program.
This example will create a gradient rectangle on the whole form Canvas. To change it’s size just change the parameters of the Rectangle() function.
Add this code to your form’s OnPaint event:
1) Constant number of steps:
const
btN = 100; { Number of steps }
var
iI: Integer;
Col: TColor;
begin
for iI := 0 to btN - 1 do
with Canvas do begin
Col := RGB(0, 0, Round(50 + 205 * (iI / btN)));
Pen.Color := Col;
Brush.Color := Col;
Rectangle(0, Round(ClientHeight * (iI / btN)), ClientWidth, Round(ClientHeight * ((iI + 1) / btN)));
end;
end;
To get rid of problems when resizing the form just add this code to the form’s OnResize event:
... Invalidate; ...
2) It calculates the number of steps:
var
wHeight, wRow: Word;
begin
wHeight := (ClientHeight + 255) div 256;
for Row := 0 to 255 do
with Canvas do begin
Brush.Color := RGB(wRow, 0, 0); { Modify this for a different color }
FillRect(Rect(0, wRow * wHeight, ClientWidth, (wRow + 1) * wHeight)) ;
end;
end;
3) Hacking our way around… ![]()
This function works in Delphi 3 but not in Delphi 4.
uses Charts; ... GradientFill(Canvas, ClientRect, clBlack, clBlue, False); ...
Categories: Graphics about, about box, aboutbox, angle, btn, canvas, code, color rgb, create, delphi 3, delphi 4, delpi, different color, form, gradient, object pascal, open source, parameters, pen color, setup programs, source, source code, tip, trick, window