我只需要在 ListView 中的行高添加2px :)(自定义绘制的进度栏现在太窄了)。

有两个好的答案Change Listview item heighthttp://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时,才发送此消息。

10-05 20:23
查看更多