问题标签 [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.
delphi - 调整 TListView 列大小后的事件
在将 TListView 中的列调整为 ViewStyle = vsReport 后,我试图触发一个事件。
具体来说,我有两个 ListView,我想保持列的宽度相同。只有一个 listView 具有列标题,因此需要将事件链接到这些。
在 TListViews 的可用过程中四处寻找,似乎没有相关的选项......
有什么帮助吗?
delphi - 如何在虚拟模式下自动调整列表视图的列宽?
当我使用 TListView (ViewStyle = vsReport) 时,我可以自动调整列的宽度,在每列的 Width 属性中设置LVSCW_AUTOSIZE
或LVSCW_AUTOSIZE_USEHEADER
值,现在我开始在虚拟模式下使用 Listview,但未修改列的宽度根据这些值。所以问题是:当 lisvtiew 处于虚拟模式时,如何调整列的宽度以适应内容或标题?
delphi - 简单的 TListView OwnerDraw 文本字体大小和颜色示例?
我正在尝试在报告模式下使用OnCustomDrawItem
.
当我尝试更改 Canvas.font.color 时,这就是我所做的一切,我没有任何问题。
如果我设置canvas.font.size,我发现控件绘制的文本大小没有变化。
如果我尝试从 OnCustomDrawItem 中接管文本的绘制,我发现我做不到。我知道如何使用 OnCustomDraw 在背景区域进行绘制,但我想自定义绘制一个 listview ITEM,以便我可以设置文本的颜色和字体名称以及字体大小。
我知道在 ListView 所有者绘制的上下文中使用 Canvas 存在一些问题,并且您可以在 ListView 中执行的操作有一些限制。
listview - GroupView 是否在 OwnerData 模式下的 TListView 中工作?
我正在尝试为 Delphi XE2 中的 TListView 实现“排列方式”功能。在表单设计器中(如果我关闭 OwnerData)我可以让组显示并向他们添加项目
但是,如果我尝试设置
我的列表项都没有放在组中。
您可能还想知道的敷衍信息
- ListView 处于报告模式
- 为应用程序启用了主题(在 Windows 7 上运行)
- GroupView 已启用
- 是的,我有一个 ID 为 0 的组
delphi - 在 Delphi 中检索列表视图项值的正确方法是什么
现在我正在使用下面的代码来获取 ListView items 值,我想知道这是否是正确的方法,或者我应该以另一种方式来做。
父项值的示例:
子项值的示例:
delphi - 使用 VCL 样式时,TListview 标题中没有图像
在激活任何 VCL 样式的 vsReport ViewStyle 中使用 TListview 时,不会显示标题中的图像。取消经典的 Windows 风格,图像出现。(显示我使用的图像的方法是将 TImageList 分配给 ListView 的 SmallImages 属性,然后在相应列的 Columns 属性中选择图像索引)。如何在启用 VCL 样式的 TListView 的标题中显示图像?
delphi - TListView (Delphi) 中的边框颜色
我正在尝试使用 OnCustomDrawItem 事件自定义 ListView 项目的背景颜色和字体颜色。但是 subitem 的边框颜色始终是 ListView 的背景颜色。有谁知道如何解决这一问题?这是我正在使用的代码:
编辑:
SubItems 列之间存在 GAP。这个 GAP 是 ListView 的背景颜色。
我使用 Delphi XE2 和操作系统:Windows 7 bit bit。
delphi - Delphi TListview OwnerDraw SubItems - 更改默认字体(在画布上绘制后以某种方式变粗)
如果您将 ownerdraw 与 TListView 一起使用,则子项默认情况下都是 BOLD 字体样式,即使 listview font.style 设置为 [],对于自定义绘制后的所有子项也是如此。
我发现的一种解决方法是强制在 CustomDrawSubItem 事件中设置样式:
(除非默认样式设置为 [] 以外的其他内容,否则带有 [] 的简单调用将不起作用,因为 SetStyle 调用不认为样式已更改)
然而,这是一个丑陋的修复,需要额外的处理时间。有更好的解决方案吗?
delphi - 在 OwnerData 和 OwnerDraw 设置为 True 的 TListView 上显示错误提示
我使用 Delphi 2007。我有一个TListView
withOwnerData
并OwnerDraw
设置为 True。ViewStyle
设置为vsReport
。
我有一个record
.
我希望在 SubItem2 被截断时显示提示。在 Windows XP 上,根本不显示任何提示。在 Windows Vista 和 Windows 7 上,当我的鼠标悬停在某个项目上时,它会显示一个完全关闭的提示。
我没有处理提示的特殊代码。应该有一个OwnerData
和OwnerDraw
模式吗?
这是我得到的图像:
(来源:noelshack.com)
(来源:noelshack.com)
编辑:
大卫问为什么OwnerDraw
设置为True
. 有两个原因:
- 这样,我可以“禁止”用户选择。
- 如果我设置
OwnerDraw
为False
,我会遇到另一个问题。请参阅为什么在自定义绘制的列表视图上出现白色列分隔符?
编辑 2:
如果我OnInfoTip
按照 TLama 的建议处理事件,我会得到一个非主题的气球提示和来自 Windows Vista 和 7 的错误提示。