将bmp图片在drawgrid中显示,并将该drawgrid连同里面的内容(当然包括里面的图片)存入一个非数据库文件中?图片以二进制格式存入该文件,怎么做?

解决方案 »

  1.   

    //在第一格显示图片
    procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    var
      Bitmap : TBitMap;
    begin
      Bitmap := TBitmap.Create;
      try
        Bitmap.LoadFromFile('F:\Tool.bmp');
        Bitmap.Transparent := True;
        Bitmap.TransParentColor := TDrawGrid(Sender).Color;
        if (ARow=1) and (ACol=1) then 
        begin
          with TDrawGrid(Sender).Canvas do
          begin
            Brush.Color := clWhite;
            FillRect(Rect);
            CopyRect(Rect,Bitmap.Canvas,Bitmap.Canvas.ClipRect );
    //如果图象大小和删格不一样图象会变形,如果将上面的“Bitmap.Canvas.ClipRect”替换成其他TRect可以取原图象的部分
          end;
        end
      finally
        Bitmap.Free;
      end;
    end;