since the image is the same on every column, a strecthdraw or multiple draw one after the other would produce the same result
Canvas.StretchDraw(Rect,HeaderBmp);
or
While Rect.Left<Rect.Right do
begin
Canvas.Draw(Rect.Left,Rect.Top,HeaderBmp);
Rect.Left:=Rect.Left+HeaderBmp.Width;
end;
but really I see only problems with not using stretchDraw for this