问题标签 [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 投票
0 回答
53 浏览

vcl - 最后一行的 TListView Caption-Cell 没有着色

我已经使用 VCL 几个月了,可以通过谷歌搜索解决我所有的问题,但是这个让我卡住了。每当该行的索引 7 处的子项不包含特定文本时,我想在 TListView 中为该行着色(请参见下面的代码)。这一切都很好,除了最后一行的标题单元格(最左边)没有着色。我尝试了一些技巧(例如,在绘制项目时启用然后禁用 ListView),但我没有找到不会破坏表单上其他内容的技巧(例如计时器)。此外,在我单击单元格后,它确实会着色......我在 Windows 7 上使用 XE7 (C++Builder)。所有建议都表示赞赏;)

编辑 (在这里回答评论,因为没有足够的代表:P)

@PaulMcCarthy 是的,这对我来说也很奇怪......

@RemyLebeau 感谢您的建议,我实施了它们。

此外,我设法通过额外调用OverviewListView->Refresh()from outside来正确绘制CustomDrwaItem它,但它仍然让我感到困扰,没有它它就无法工作(双关语有点有意)。

0 投票
1 回答
1389 浏览

delphi - 如何通过 ItemClickEx 事件上的 Header textGlyphButton 从 Firemonkey TListView 获取标题文本和详细信息?

在我TListView的外观FireMonkeyHeader“自定义”时,我需要在TListview.ItemExClick事件中获取标题的项目文本和详细文本,当用户单击标题时TListItemTextButton

我有这样的东西...

有什么线索吗?提前谢谢。

0 投票
0 回答
175 浏览

firemonkey - 如何根据标题/项目右键单击在 Firemonkey 的 TListView 中显示多个弹出菜单

我需要在 firemonkey 的 TListview 上显示两个不同的弹出菜单。

右键单击标题显示 popup1,右键单击项目显示 popup2。

由于 Firemonkey 的 TListView 没有“OnContextPopup”事件,我该如何实现呢?

0 投票
1 回答
44 浏览

animation - lazarus/FPC:如果只有图标更改,TListView 会重新绘制行

嗨 Lazarus/LCL/FPC 专家,

只是为了好玩,我试图让 TListView 图标旋转。在我的测试表单上,我有一个单独的 TListView (ViewStyle := vsReport, RowSelect := true),我在 SmallImages 列表中添加了一堆图像,图像 [0] .. [5] 包含我的旋转符号的图片. 要检查一下,我让符号使用计时器旋转:

定时器设置为200ms,原理很好,选中行的图标确实旋转。但似乎 LCL Listview 重绘了整行,而不仅仅是图标图像,这让整个选定的行闪烁。

有谁知道减少闪烁的方法吗?如果 ListView 不会重绘整行,而只重绘图像,我已经很高兴了。

谢谢,阿明。

0 投票
0 回答
90 浏览

android - 来自数据库的照片的矩阵视图

我想在 Android 上显示从数据库中检索到的照片网格。我认为也许将 ListView 与 LiveBinding 一起使用可能会起作用,但我看不出它如何允许每行有多个记录。任何人有任何想法或可以指出我正确的方向吗?如果有困难,也很高兴看到第 3 方组件。

谢谢

0 投票
1 回答
131 浏览

delphi - 如何从确定的点将数据添加到 ListView 的第三列?

我的目标是添加信息,参考每个文件(仅文件)的大小,必须保留在ListView.

我在下面的尝试没有成功。哪里错了?

在此处输入图像描述


版本

我需要单独处理每一列,因为这些数据将来自我的远程管理应用程序的客户端,并且分别请求每个数据。首先是请求文件夹-> 来文件夹,在文件之后-> 来文件,最后是存储在客户端的每个文件的大小,与上面显示的方式相同。考虑Button像我的接收器(服务器端)的代码:D。

例如(接收文件夹,之后请求文件):

0 投票
2 回答
254 浏览

listview - TListView 检测 ESC 或未更改编辑

我正在尝试对 of 进行子类WindowProc化以在编辑标题TListView后检测 ESC 按键(如果用户取消编辑)。TListViewListViewWndProc 被清楚地调用,但应该检测到的代码参数永远不会获得 LVN_ENDLABELEDIT 值。为什么评论部分永远不会被调用?我看不到错误,它应该正在发生。

0 投票
0 回答
371 浏览

delphi - TListView OnCustomDrawItem 行为在 10.2 更新 3 中更改

我有一个 TListView,我想在其中显示一个带有粗体文本的特定行。为此,我创建了一个 OnCustomDrawItem 处理程序,如下所示:

(背景信息:它是某些目录及其属性的列表。恰好一个目录可以是“当前”,这就是我要强调的那个。GetStatusItem 返回一个枚举值,它可以是 ddOK、ddNonExistent 或 ddCurrent)。

这在使用 Delphi 10.2 ("Tokyo") Update 2 时按我预期的那样工作,但在使用 Update 3 时不起作用。更具体地说,字体颜色仍然有效。但字体样式没有。

我可以在 VCL 源代码中看到 Vcl.ComCtrls.pas 在 TCustomListView.CNNotify 中从 Update 2 更改为 Update 3,并且在 Update 3 中删除了 SaveDC/RestoreDC 调用。我猜它是相关的,但我没有但设法理解了代码。

如您所见,我没有尝试在处理程序中实际绘制文本。我只是更改画布的属性。

问题是:代码在更新 2 中工作是幸运的吗?我必须自己绘制文本,还是修改画布并让VCL继续绘制文本就足够了?如果是这样,为什么它在更新 3 中不起作用?

0 投票
1 回答
657 浏览

delphi - 以编程方式更新 TListView 列标题?

创建一个新的 VCL 表单应用程序并将其粘贴TListview到其表单上:

然后在表单上放两个按钮Button1Button2,所以表单单元看起来像这样:

运行应用程序。单击将第三列Button1AutoSize属性设置为True:这应该将第三列的宽度扩展到 ListView 边框。但是,仅当您使用以下解决方法时,此更改才会可见:

  1. 通过用鼠标拖动表单边缘来扩展表单的宽度,或者:

  2. 单击以编程方式执行相同操作的第二个按钮。

但是如何在不使用这些变通方法的情况下以编程方式更新列标题?

0 投票
0 回答
83 浏览

delphi - 选定行的 TListView.OnAdvancedCustomDraw 问题

我的 Delphi Berlin 应用程序将在报告模式下获得一个 TListView,并且其中一列应在背景中绘制一些东西。对于第一次测试,这看起来像下面的代码,但最终实际的绘图代码不会总是填满整个子项。但这对于手头的问题应该无关紧要。

现在的问题是,虽然它通常可以工作,但它会将我选择的所有文本或将鼠标悬停在黑色矩形上。如果鼠标离开该行或它正在获得未选择的文本将恢复正常。

操作系统是 Windows 7。