with listbox1.Canvas do
begin
//该处条件可以通过 OnDrawItem的参数 Index来写
//如: index=10
// 或 ListBox1.Items[Index]='字符串' 等...
if (满足改变背景颜色的条件) then brush.Color:=clAqua;//改变画刷的颜色
FillRect(Rect);//按设置的颜色填充Rect区域
//在此处还可以改变字体,但主意先要备份字体,等输出完字体后在还原到默认字体
TextOut(Rect.Left+1, Rect.Top+1, ListBox1.Items[Index]);//重新输出文字
end;