问题标签 [tlistview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1922 浏览

delphi - 调整 TListView 列大小后的事件

在将 TListView 中的列调整为 ViewStyle = vsReport 后,我​​试图触发一个事件。

具体来说,我有两个 ListView,我想保持列的宽度相同。只有一个 listView 具有列标题,因此需要将事件链接到这些。

在 TListViews 的可用过程中四处寻找,似乎没有相关的选项......

有什么帮助吗?

0 投票
3 回答
7926 浏览

delphi - 如何在虚拟模式下自动调整列表视图的列宽?

当我使用 TListView (ViewStyle = vsReport) 时,我可以自动调整列的宽度,在每列的 Width 属性中设置LVSCW_AUTOSIZELVSCW_AUTOSIZE_USEHEADER值,现在我开始在虚拟模式下使用 Listview,但未修改列的宽度根据这些值。所以问题是:当 lisvtiew 处于虚拟模式时,如何调整列的宽度以适应内容或标题?

0 投票
1 回答
5263 浏览

delphi - 简单的 TListView OwnerDraw 文本字体大小和颜色示例?

我正在尝试在报告模式下使用OnCustomDrawItem.

当我尝试更改 Canvas.font.color 时,这就是我所做的一切,我没有任何问题。

如果我设置canvas.font.size,我发现控件绘制的文本大小没有变化。

如果我尝试从 OnCustomDrawItem 中接管文本的绘制,我发现我做不到。我知道如何使用 OnCustomDraw 在背景区域进行绘制,但我想自定义绘制一个 listview ITEM,以便我可以设置文本的颜色和字体名称以及字体大小。

我知道在 ListView 所有者绘制的上下文中使用 Canvas 存在一些问题,并且您可以在 ListView 中执行的操作有一些限制。

0 投票
1 回答
931 浏览

listview - GroupView 是否在 OwnerData 模式下的 TListView 中工作?

我正在尝试为 Delphi XE2 中的 TListView 实现“排列方式”功能。在表单设计器中(如果我关闭 OwnerData)我可以让组显示并向他们添加项目

但是,如果我尝试设置

我的列表项都没有放在组中。


您可能还想知道的敷衍信息

  1. ListView 处于报告模式
  2. 为应用程序启用了主题(在 Windows 7 上运行)
  3. GroupView 已启用
  4. 是的,我有一个 ID 为 0 的组
0 投票
1 回答
8837 浏览

delphi - 在 Delphi 中检索列表视图项值的正确方法是什么

现在我正在使用下面的代码来获取 ListView items 值,我想知道这是否是正确的方法,或者我应该以另一种方式来做。

父项值的示例:

子项值的示例:

0 投票
1 回答
338 浏览

delphi - 使用 VCL 样式时,TListview 标题中没有图像

在激活任何 VCL 样式的 vsReport ViewStyle 中使用 TListview 时,不会显示标题中的图像。取消经典的 Windows 风格,图像出现。(显示我使用的图像的方法是将 TImageList 分配给 ListView 的 SmallImages 属性,然后在相应列的 Columns 属性中选择图像索引)。如何在启用 VCL 样式的 TListView 的标题中显示图像?

0 投票
2 回答
1734 浏览

delphi - TListView:在 Columns.Delete(index) 之后丢失了最后一列的标题

我想我在 TListView 中发现了一个潜在的错误。

重现步骤:创建一个新的 VCL Forms 应用程序,添加一个 TListView,将其 ViewStyle 设置为 vsReports。添加两个按钮

按钮1:

按钮2:

结果:该列被删除,但最后一列的标题丢失。当添加更多列并删除其他列之间的列(或删除第一列)时,也会发生这种情况。最后一列的标题始终为空。

我正在使用 XE3。有什么我错过的吗?

谢谢

编辑: 质量控制链接

潜在重复

0 投票
1 回答
1575 浏览

delphi - TListView (Delphi) 中的边框颜色

我正在尝试使用 OnCustomDrawItem 事件自定义 ListView 项目的背景颜色和字体颜色。但是 subitem 的边框颜色始终是 ListView 的背景颜色。有谁知道如何解决这一问题?这是我正在使用的代码:

编辑:

SubItems 列之间存在 GAP。这个 GAP 是 ListView 的背景颜色。

我使用 Delphi XE2 和操作系统:Windows 7 bit bit。

0 投票
2 回答
4961 浏览

delphi - Delphi TListview OwnerDraw SubItems - 更改默认字体(在画布上绘制后以某种方式变粗)

如果您将 ownerdraw 与 TListView 一起使用,则子项默认情况下都是 BOLD 字体样式,即使 listview font.style 设置为 [],对于自定义绘制后的所有子项也是如此。

我发现的一种解决方法是强制在 CustomDrawSubItem 事件中设置样式:

(除非默认样式设置为 [] 以外的其他内容,否则带有 [] 的简单调用将不起作用,因为 SetStyle 调用不认为样式已更改)

然而,这是一个丑陋的修复,需要额外的处理时间。有更好的解决方案吗?

演示项目:http ://www.mediafire.com/?v8bsdpvpfqy47vn

0 投票
1 回答
2622 浏览

delphi - 在 OwnerData 和 OwnerDraw 设置为 True 的 TListView 上显示错误提示

我使用 Delphi 2007。我有一个TListViewwithOwnerDataOwnerDraw设置为 True。ViewStyle设置为vsReport

我有一个record.

我希望在 SubItem2 被截断时显示提示。在 Windows XP 上,根本不显示任何提示。在 Windows Vista 和 Windows 7 上,当我的鼠标悬停在某个项目上时,它会显示一个完全关闭的提示。

我没有处理提示的特殊代码。应该有一个OwnerDataOwnerDraw模式吗?

这是我得到的图像:

列表显示
(来源:noelshack.com

带有提示的列表视图
(来源:noelshack.com

编辑: 大卫问为什么OwnerDraw设置为True. 有两个原因:

  1. 这样,我可以“禁止”用户选择。
  2. 如果我设置OwnerDrawFalse,我会遇到另一个问题。请参阅为什么在自定义绘制的列表视图上出现白色列分隔符?

编辑 2: 如果我OnInfoTip按照 TLama 的建议处理事件,我会得到一个非主题的气球提示来自 Windows Vista 和 7 的错误提示。