下面LVBmp、TVBmp为TBitMap类型!
ListView:
procedure TFormMainMenu.LVCustomDraw(Sender: TCustomListView;
  const ARect: TRect; var DefaultDraw: Boolean);
var
  x,y,w,h : LongInt;
begin
  with LVBmp do
  begin
    W := Width;
    H := Height;
  end;
  Y := 0;
  while Y < Height do
  begin
    X := 0;
    while X < Width do
    begin
      LV.Canvas.Draw(X, Y, LVBmp);
      Inc(X, W);
    end;
    Inc(Y, H);
  end;
  LV.Color:=clNone;
  SetBkMode(LV.Canvas.Handle,TRANSPARENT);
  LV.Perform(LVM_SETTEXTBKCOLOR,0,LongInt(CLR_NONE));
  ListView_SetBKColor(LV.Handle,CLR_NONE);
end;TreeView:
procedure TFormMainMenu.TVCustomDraw(Sender: TCustomTreeView;
  const ARect: TRect; var DefaultDraw: Boolean);
begin
  with TV.Canvas do
  begin
    StretchDraw(ARect, TVBmp);
  end;
  DefaultDraw := True;
end;

解决方案 »

  1.   

    unit ListViewMain;interfaceuses
    Windows, Messages, SysUtils, Classes, Graphics, 
      Controls, Forms, Dialogs,
      ComCtrls, ImgList;
    type
      TForm1 = class(TForm)
        ListView1: TListView;
        ImageList1: TImageList;
        procedure ListView1CustomDraw(Sender: TCustomListView;
          const ARect: TRect; var DefaultDraw:Boolean);
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    var
      Form1: TForm1;
      Bitmap1: TBitmap;
    implementation
    {$R *.DFM}procedure TForm1.ListView1CustomDraw(Sender: 
    TCustomListView;
      const ARect: TRect; var DefaultDraw: Boolean);
    var
       x,y,w,h : LongInt;
    begin
      with Bitmap1 do begin
        W := Width;
        H := Height;
      end;
      Y := 0;
      while Y < Height do begin
        X := 0;
        while X < Width do begin
          ListView1.Canvas.Draw(X, Y, Bitmap1);
          Inc(X, W);
        end;
        Inc(Y, H);
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Bitmap1 := TBitmap.Create;
      Bitmap1.LoadFromFile('backgray.bmp');
    end;procedure TForm1.FormClose(Sender: TObject; 
      var Action: TCloseAction);
    begin
      Bitmap1.Free;
    end;end.