如何在报表样式中增加listview的行高?

时间:2011-08-15 00:10:15

标签: delphi listview row-height

我需要将2px :)添加到列表视图中的一行高度(自定义绘制的进度条现在太窄)。

有两个好的答案Change Listview item heighthttp://www.delphipages.com/forum/showthread.php?t=49939,但我无法做到。

我知道可以使用图像列表,但我已经有16x16图像:)

任何人都可以帮助我吗? 我会很感激的。

2 个答案:

答案 0 :(得分:14)

回复CN_MEASUREITEM控件通知消息,如下所示:

type
  TListView = class(ComCtrls.TListView)
  private
    procedure CNMeasureItem(var Message: TWMMeasureItem); message CN_MEASUREITEM;
  end;

  TForm1 = class(TForm)
    ...

procedure TListView.CNMeasureItem(var Message: TWMMeasureItem);
begin
  inherited;
  Inc(Message.MeasureItemStruct.itemHeight, 2);
end;

注意:仅当OwnerDraw属性为true时才会发送此消息。

答案 1 :(得分:5)

没有编写任何代码的快速而又脏的替代方法是添加TImageList,将其宽度设置为1,将其高度设置为您想要的行高度,并将其分配给listview的SmallImages。