如何在Delphi中为特定的列表视图项着色?

时间:2015-12-12 11:50:24

标签: delphi-xe5

我正在制作一个调度系统,我想为列表视图中的某些特定项目着色。例如,如果时钟中的当前时间是上午07:00,那么列表视图将为其中07:00 AM的所有项目着色。我该怎么做?我真的不知道从哪里开始。我现在拥有的是这个,

查看时间表 View Schedule

1 个答案:

答案 0 :(得分:1)

您可以在OnCustomDrawItemOnCustomDrawSubItem事件处理程序中设置字体属性。例如:

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem;
  State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if odd(Item.Index) then begin
    Sender.Canvas.Font.Color := clRed;
  end;
end;

procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView; Item: TListItem; 
  SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if odd(Item.Index) then begin
    Sender.Canvas.Font.Color := clRed;
  end;
end;