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);
...