下面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;
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;
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.