如何增加报表样式中列表视图的行高?

发布于 2024-11-29 16:42:19 字数 384 浏览 1 评论 0原文

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

有两个很好的答案更改列表视图项目高度http://www.delphipages.com/forum/showthread.php?t=49939,但我做不到。

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

有人可以帮助我吗? 我会很感激的。

I need to add just 2px :) to a height of a row in a list view (a custom drawn progress bar is too narrow now).

There are two good answers Change Listview item height, http://www.delphipages.com/forum/showthread.php?t=49939, but I couldn't do it.

I know that it is possible to do with an image list, but I have already 16x16 images :)

Can anybody help me?
I'll appreciate it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

巷雨优美回忆 2024-12-06 16:42:19

响应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时才会发送该消息。

Respond to the CN_MEASUREITEM control notification message, as follows:

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;

Note: this message will only be send if the OwnerDraw property is true.

墟烟 2024-12-06 16:42:19

一个无需编写任何代码的快速而肮脏的替代方案是添加一个 TImageList,将其宽度设置为 1,将其高度设置为您想要的行高,并将其分配给列表视图的 SmallImages。

A quick and dirty alternative without writing any code would be to add a TImageList, set its width to 1 and its height to whatever you want the lines height to be and assign it to the SmallImages of the listview.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文