没错,既然在前面Create了,就需要在调用完毕后将它Free掉不过我认为正确的方法应该是:
  if not assigned(Canvas.Brush.Bitmap) then
    Canvas.Brush.Bitmap := TBitmap.Create;
  Canvas.Brush.Bitmap.LoadFromFile('C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Template\ATL\Atl.bmp');
  Canvas.FillRect(Rect(0,0,width,height));