我在TListView
模式下的vsReport
中有3列,并且启用了Checkboxes
属性。我想在选中一项时将仅标题字体设为粗体。我尝试使用OnCustomDrawItem
事件,但使所有行都变为粗体。
procedure TfrmMain.lvwCompsCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if (Item.Checked) then
Sender.Canvas.Font.Style := [fsBold]
else
Sender.Canvas.Font.Style := [];
end;
我在方法OnCustomDrawItem
中找不到如何隔离第一列(标题)。因此,我也尝试使用OnCustomDrawSubItem
事件,从子项目中“删除”粗体,但没有成功。
procedure TfrmMain.lvwCompsCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if (SubItem > 0) then
Sender.Canvas.Font.Style := [];
end;
请,有人可以帮我吗?