我需要将2px :)添加到列表视图中的一行高度(自定义绘制的进度条现在太窄)。
有两个好的答案Change Listview item height,http://www.delphipages.com/forum/showthread.php?t=49939,但我无法做到。
我知道可以使用图像列表,但我已经有16x16图像:)
任何人都可以帮助我吗? 我会很感激的。
答案 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。