首先把Listbox2的style属性改为lbOwnerDrawVariable。然后分别编写它的OnDrawItem事件和OnDrawItem事件。下面就是Listbox2 的OnDrawItem事件和OnDrawItem事件的代码:
procedure TForm1.ListBox2DrawItem(Control:
TWinControl;
Index: Integer;
Rect: TRect;
State: TOwnerDrawState);
begin
with ListBox2.Canvasdo
begin
FillRect(Rect);
Font.Size := 12;
if Index mod 2 =0 then
begin
Font.Name := '宋体';
Font.Color := Clred;
end
else
begin
Font.Name := '隶书';
Font.Color := Clgreen;
end;
TextOut(Rect.Left+1, Rect.Top+1,
ListBox2.Items[Index]);
end;
end;
procedure TForm1.ListBox2MeasureItem
(Control: TWinControl;
Index: Integer;
var Height: Integer);
begin
with ListBox1.Canvasdo
begin
Font.Size := 12;
if Index mod 2 =0 then
begin
Font.Name := '黑体';
Font.Color := Clred;
end
else
begin
Font.Name := '隶书';
Font.Color := Clgreen;
end;
Height := TextHeight('Wg') + 2;
end;
end;