问题标签 [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.
vcl - 最后一行的 TListView Caption-Cell 没有着色
我已经使用 VCL 几个月了,可以通过谷歌搜索解决我所有的问题,但是这个让我卡住了。每当该行的索引 7 处的子项不包含特定文本时,我想在 TListView 中为该行着色(请参见下面的代码)。这一切都很好,除了最后一行的标题单元格(最左边)没有着色。我尝试了一些技巧(例如,在绘制项目时启用然后禁用 ListView),但我没有找到不会破坏表单上其他内容的技巧(例如计时器)。此外,在我单击单元格后,它确实会着色......我在 Windows 7 上使用 XE7 (C++Builder)。所有建议都表示赞赏;)
编辑 (在这里回答评论,因为没有足够的代表:P)
@PaulMcCarthy 是的,这对我来说也很奇怪......
@RemyLebeau 感谢您的建议,我实施了它们。
此外,我设法通过额外调用OverviewListView->Refresh()
from outside来正确绘制CustomDrwaItem
它,但它仍然让我感到困扰,没有它它就无法工作(双关语有点有意)。
delphi - 如何通过 ItemClickEx 事件上的 Header textGlyphButton 从 Firemonkey TListView 获取标题文本和详细信息?
在我TListView
的外观FireMonkey
为Header
“自定义”时,我需要在TListview.ItemExClick
事件中获取标题的项目文本和详细文本,当用户单击标题时TListItemTextButton
。
我有这样的东西...
有什么线索吗?提前谢谢。
firemonkey - 如何根据标题/项目右键单击在 Firemonkey 的 TListView 中显示多个弹出菜单
我需要在 firemonkey 的 TListview 上显示两个不同的弹出菜单。
右键单击标题显示 popup1,右键单击项目显示 popup2。
由于 Firemonkey 的 TListView 没有“OnContextPopup”事件,我该如何实现呢?
animation - lazarus/FPC:如果只有图标更改,TListView 会重新绘制行
嗨 Lazarus/LCL/FPC 专家,
只是为了好玩,我试图让 TListView 图标旋转。在我的测试表单上,我有一个单独的 TListView (ViewStyle := vsReport, RowSelect := true),我在 SmallImages 列表中添加了一堆图像,图像 [0] .. [5] 包含我的旋转符号的图片. 要检查一下,我让符号使用计时器旋转:
定时器设置为200ms,原理很好,选中行的图标确实旋转。但似乎 LCL Listview 重绘了整行,而不仅仅是图标图像,这让整个选定的行闪烁。
有谁知道减少闪烁的方法吗?如果 ListView 不会重绘整行,而只重绘图像,我已经很高兴了。
谢谢,阿明。
android - 来自数据库的照片的矩阵视图
我想在 Android 上显示从数据库中检索到的照片网格。我认为也许将 ListView 与 LiveBinding 一起使用可能会起作用,但我看不出它如何允许每行有多个记录。任何人有任何想法或可以指出我正确的方向吗?如果有困难,也很高兴看到第 3 方组件。
谢谢
listview - TListView 检测 ESC 或未更改编辑
我正在尝试对 of 进行子类WindowProc
化以在编辑标题TListView
后检测 ESC 按键(如果用户取消编辑)。TListView
ListViewWndProc 被清楚地调用,但应该检测到的代码参数永远不会获得 LVN_ENDLABELEDIT 值。为什么评论部分永远不会被调用?我看不到错误,它应该正在发生。
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 中不起作用?
delphi - 以编程方式更新 TListView 列标题?
创建一个新的 VCL 表单应用程序并将其粘贴TListview
到其表单上:
然后在表单上放两个按钮Button1
和Button2
,所以表单单元看起来像这样:
运行应用程序。单击将第三列Button1
的AutoSize
属性设置为True
:这应该将第三列的宽度扩展到 ListView 边框。但是,仅当您使用以下解决方法时,此更改才会可见:
通过用鼠标拖动表单边缘来扩展表单的宽度,或者:
单击以编程方式执行相同操作的第二个按钮。
但是如何在不使用这些变通方法的情况下以编程方式更新列标题?
delphi - 选定行的 TListView.OnAdvancedCustomDraw 问题
我的 Delphi Berlin 应用程序将在报告模式下获得一个 TListView,并且其中一列应在背景中绘制一些东西。对于第一次测试,这看起来像下面的代码,但最终实际的绘图代码不会总是填满整个子项。但这对于手头的问题应该无关紧要。
现在的问题是,虽然它通常可以工作,但它会将我选择的所有文本或将鼠标悬停在黑色矩形上。如果鼠标离开该行或它正在获得未选择的文本将恢复正常。
操作系统是 Windows 7。