在Listbox加背景图

开发者在线 Builder.com.cn 更新时间:2007-09-15作者:51cto.com整理 来源:51cto.com整理

本文关键词: ListBox 背景图

1. 建立一个窗体

2. 放一个ComboBox和Listbox

3. 改变Component的Style为csOwnerDrawVariable和ListBox的Style为lbOwnerDrawVariable。

4. 声明5个TBitmap的全局变量

5. 覆盖Form的OnCreate.

6. 覆盖ComboBox的OnDraw.

7. 覆盖ComboBox的OnMeasureItem.

8. 释放资源在Form的OnClose.

unit Ownerdrw;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

ComboBox1: TComboBox;

ListBox1: TListBox;

procedure FormCreate(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure ComboBox1DrawItem(Control: TWinControl; Index: Integer;

Rect: TRect; State: TOwnerDrawState);

procedure ComboBox1MeasureItem(Control: TWinControl; Index: Integer;

var Height: Integer);

procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;

Rect: TRect; State: TOwnerDrawState);

procedure ListBox1MeasureItem(Control: TWinControl; Index: Integer;

var Height: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

TheBitmap1, TheBitmap2, TheBitmap3, TheBitmap4,

TheBitmap5 : TBitmap;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

TheBitmap1 := TBitmap.Create;

TheBitmap1.LoadFromFile('C:delphiimagesbuttonsglobe.bmp');

TheBitmap2 := TBitmap.Create;

TheBitmap2.LoadFromFile('C:delphiimagesbuttonsvideo.bmp');

TheBitmap3 := TBitmap.Create;

TheBitmap3.LoadFromFile('C:delphiimagesbuttonsgears.bmp');

TheBitmap4 := TBitmap.Create;

TheBitmap4.LoadFromFile('C:delphiimagesbuttonskey.bmp');

TheBitmap5 := TBitmap.Create;

TheBitmap5.LoadFromFile('C:delphiimagesbuttonstools.bmp');

ComboBox1.Items.AddObject('Bitmap1: Globe', TheBitmap1);

ComboBox1.Items.AddObject('Bitmap2: Video', TheBitmap2);

ComboBox1.Items.AddObject('Bitmap3: Gears', TheBitmap3);

ComboBox1.Items.AddObject('Bitmap4: Key', TheBitmap4);

ComboBox1.Items.AddObject('Bitmap5: Tools', TheBitmap5);

ListBox1.Items.AddObject('Bitmap1: Globe', TheBitmap1);

ListBox1.Items.AddObject('Bitmap2: Video', TheBitmap2);

ListBox1.Items.AddObject('Bitmap3: Gears', TheBitmap3);

ListBox1.Items.AddObject('Bitmap4: Key', TheBitmap4);

ListBox1.Items.AddObject('Bitmap5: Tools', TheBitmap5);

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

TheBitmap1.Free;

TheBitmap2.Free;

TheBitmap3.Free;

TheBitmap4.Free;

TheBitmap5.Free;

end;

查看本文来源

用户评论

  • 用户名
  • 评论内容

开发者在线 背景图 最新报道