procedure TForm2.ListView2CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if 超过最大值 then
ListView.Canvas.font.Color:= clWindow;
end;
pos1:=pos(#$D,str1);
str2:=copy(str1,1,pos1-1);
delete(str1,1,pos1+1);
wdxx:=strtofloat(str2);//得到温度下限值
if (wd1>=wdsx) or (wd2>=wdsx) or (wd3>=wdsx) then //温度1、温度2、温度超过温度上限时,为红色显示
Sender.Canvas.font.Color := clred
else if (wd1<=wdxx) or (wd2<=wdxx) or (wd3<=wdxx)then //超温度下限时,兰色显示
Sender.Canvas.font.Color := clblue
else Sender.Canvas.font.Color := clblack;//clwindow;
end;
end;
1.设置listbox的state属性为:lbOwnerDrawFixed
2.在下列事件中写代码:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
if index=5 then
begin
listbox1.canvas.font.Color := clMaroon;
end
else
begin
listbox1.canvas.font.Color := clRed;
end;
listbox1.canvas.TextOut(Rect.Left+1, Rect.Top+1, ListBox1.Items[Index]);
end;