科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件在Listbox加背景图

在Listbox加背景图

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文讲解如何实在在Listbox加背景图的过程,并附注原代码

作者:51cto.com整理 来源:51cto.com整理 2007年9月15日

关键字: 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:\delphi\images\buttons\globe.bmp');

TheBitmap2 := TBitmap.Create;

TheBitmap2.LoadFromFile('C:\delphi\images\buttons\video.bmp');

TheBitmap3 := TBitmap.Create;

TheBitmap3.LoadFromFile('C:\delphi\images\buttons\gears.bmp');

TheBitmap4 := TBitmap.Create;

TheBitmap4.LoadFromFile('C:\delphi\images\buttons\key.bmp');

TheBitmap5 := TBitmap.Create;

TheBitmap5.LoadFromFile('C:\delphi\images\buttons\tools.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;

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章