//ListBox1 的 Style 属性改为 lbOwnerDrawVariable
//在ListBox的OnDrawItem事件裡,根据item的值,改变Canvas属性
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin //字体用原来默认的颜色
if Odd(index) then //当items的index为奇数时的颜色
begin
listbox1.Canvas.Brush.Color:=clwindow;
ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);
end
else //当items的index为偶数时的颜色
begin
listbox1.Canvas.Brush.Color:=clinactivecaptiontext;
ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);
end;
if odSelected in state then //当选定时的颜色
begin
listbox1.Canvas.Brush.Color:=clhighlight;
ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);
end;
end;