ListView¿Ø¼þÊÇWindows³ÌÐò¿ª·¢Öеij£Óÿؼþ, ÀûÓÃËü¿ÉÒÔ°ÑÐèÒªÓû§½øÐÐÑ¡Ôñ²Ù×÷µÄ¶à¸öÏîÄ¿ÔÚ´°¿ÚÖÐÒÔÁбíµÄ·½Ê½ÏÔʾ, ÿһ¸öÏîÄ¿¿ÉÒÔÓÐËüµÄСͼ±êºÍ´óͼ±ê, ´Ó¶ø¿ÉÒÔ¸ÄÉÆ³ÌÐòµÄÓû§½çÃæ, ·½±ãÓû§²Ù×÷.
---- ΪÁËʹ³ÌÐòµÄ½çÃæ¸üÃÀ¹Û, ÎÒÃÇ»¹¿ÉÒÔÔÚListView¿Ø¼þÖлæÖƵ×ͼ, ÕýÈçÎÒÃÇ¿ÉÒÔΪ´°¿Ú»æÖƵ×ͼһÑù. ÔÚDelphiÖÐ, ΪListView¿Ø¼þ»æÖƵ×ͼÊǷdz£ÈÝÒ×µÄ, ËüΪÎÒÃÇÌṩÓÐOnCustomDrawʼþ, רÃÅÓÃÓÚ´¦ÀíÓû§×Ô¶¨ÒåµÄ»æÖÆ, ÔÚ¸ÃʼþÖбàд³ÌÐò, ¿ÉÒÔÔÚ»æÖÆListViewµÄ¸÷¸öÏîĿ֮ǰ, ÏÈÖ´ÐиÃʼþ³ÌÐòÔÚListViewµÄ»²¼(Canvas)ÉÏ»æÖÆÎÒÃÇ×Ô¼ºµÄͼÐÎ.
---- ÏÂÃæÊÇÔÚListView¿Ø¼þÖлæµ×ͼµÄÒ»¸öС³ÌÐò, ÆäÔËÐнá¹ûÈçÏÂͼËùʾ(ÂÔ)
---- Ô´³ÌÐòÈçÏÂ:
unit ListViewMain;
interface
uses
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.