unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormPaint(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    tuhua:TBitmap;
    Empty:Boolean;
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);
var right:integer;
    r:Trect;begin
        if Empty=False then
        begin
                for right:=1 to width do
                begin
                        r:=rect(0,0,right,height);
                        canvas.copyrect(r,tuhua.canvas,r);
                end;
        end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
        tuhua.LoadFromFile('安装程序.bmp');
        Empty:=False;
        Form1.OnPaint(nil);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
        tuhua:=TBitmap.Create;
        tuhua.Width:=Width;
        tuhua.Height:=Height;
        Empty:=True;
end;end.
//我已经运行通过了。加一个empty是判断图画加载了没有。
你也可换个方法判断。
加载后,要重画CANVAS,我调用了FORM。ONPAINT,也可用Invalidate