我只需要在列表视图中将 2px :) 添加到行高(自定义绘制的进度条现在太窄了)。
有两个很好的答案Change Listview item height,http://www.delphipages.com/forum/showthread.php? t=49939 ,但我做不到。
我知道可以使用图像列表,但我已经有 16x16 图像 :)
有谁能够帮助我?我会很感激的。
我只需要在列表视图中将 2px :) 添加到行高(自定义绘制的进度条现在太窄了)。
有两个很好的答案Change Listview item height,http://www.delphipages.com/forum/showthread.php? t=49939 ,但我做不到。
我知道可以使用图像列表,但我已经有 16x16 图像 :)
有谁能够帮助我?我会很感激的。
响应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时才会发送此消息。
无需编写任何代码的快速而肮脏的替代方法是添加一个 TImageList,将其宽度设置为 1,将其高度设置为您希望行高为的任何值,并将其分配给列表视图的 SmallImages。