您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

在Listbox中增加背景图

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 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:delphiimagesuttonsglobe.bmp');
  TheBitmap2 := TBitmap.Create;
  TheBitmap2.LoadFromFile('C:delphiimagesuttonsvideo.bmp');
  TheBitmap3 := TBitmap.Create;
  TheBitmap3.LoadFromFile('C:delphiimagesuttonsgears.bmp');
  TheBitmap4 := TBitmap.Create;
  TheBitmap4.LoadFromFile('C:delphiimagesuttonskey.bmp');
  TheBitmap5 := TBitmap.Create;
  TheBitmap5.LoadFromFile('C:delphiimagesuttons ools.bmp');
  ComboBox1.Items.AddObjec