怎么给listview贴上背景图片

解决方案 »

  1.   

    偶帮你找的
    procedure TfrmMainWork.FormCreate(Sender: TObject);
    begin
    ......
      ABitmap:=TBitmap.Create;
      ABitmap.LoadFromFile('back.bmp');
    end;procedure TfrmMainWork.FormClose(Sender: TObject;
      var Action: TCloseAction);
    begin
    ......
      ABitmap.Free;
    end;在ListView组件的OnCustomDraw事件中采用如下代码:
    procedure TfrmMainWork.lvDbListCustomDraw(Sender: TCustomListView;
      const ARect: TRect; var DefaultDraw: Boolean);
    var
      x,y,w,h :Integer;
    begin
      with ABitmap do
      begin
        w:=Width;
        h:=Height;
      end;
      y:=0;
      while (y < Height) do
      begin
        x:=0;
        while (x < Width) do
        begin
          lvDbList.Canvas.Draw(x,y,ABitmap);
          Inc(x,w);
        end;
        Inc(y,h);
      end;
    end;