久久―日本道色综合久久,亚洲欧美精品在线,狼狼色丁香久久婷婷综合五月,香蕉人人超,日本网站黄,国产在线观看不卡免费高清,无遮挡的毛片免费

2023信創(chuàng)獨(dú)角獸企業(yè)100強(qiáng)
全世界各行各業(yè)聯(lián)合起來,internet一定要實(shí)現(xiàn)!

如何在ListView控件中繪底圖

2004-02-14 eNet&Ciweek

  ListView控件是Windows程序開發(fā)中的常用控件, 利用它可以把需要用戶進(jìn)行選擇操作的多個項(xiàng)目在窗口中以列表的方式顯示, 每一個項(xiàng)目可以有它的小圖標(biāo)和大圖標(biāo), 從而可以改善程序的用戶界面, 方便用戶操作.

  ---- 為了使程序的界面更美觀, 我們還可以在ListView控件中繪制底圖, 正如我們可以為窗口繪制底圖一樣. 在Delphi中, 為ListView控件繪制底圖是非常容易的, 它為我們提供有OnCustomDraw事件, 專門用于處理用戶自定義的繪制, 在該事件中編寫程序, 可以在繪制ListView的各個項(xiàng)目之前, 先執(zhí)行該事件程序在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.

相關(guān)頻道: eNews

您對本文或本站有任何意見,請在下方提交,謝謝!

投稿信箱:tougao@enet16.com