问题标签 [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 布局
如何在 Delphi 2007 中保存 Tlistviews 布局?
我被要求编写一些代码以允许用户重新排序 TListview 中的列(以及我们应用程序中的所有 TListviews),我使代码正常工作(通过操作列索引并将宽度设置为零以隐藏不需要的列)但现在我需要一种方法来保存视图的状态何时形成退出。
做这个的最好方式是什么?我考虑过序列化,但我不需要数据或排序顺序,这对我来说有点矫枉过正。
需要考虑的一些事情 它需要基于每个用户 它需要灵活,以防我们在列表视图中间添加一个新列 不保证列标题将是唯一的 列表视图名称可能不是在整个应用程序中独一无二
有任何想法吗?
delphi - 自定义 TListBox 以类似于 Outlook 列表
如果这不合适,请给我投反对票,但我迫切地想要拔出我的头发来寻找这个链接。这真的是不得已而为之。
最近,我浏览了一个博客(至少我认为是这样),该博客非常详细地描述了如何修改 TListBox 以使其具有类似于 Outlook 电子邮件列表中的某些条目的多行外观,并带有标题和初始内容。这是一个特别好的示例,因为它包含修改后的 TItem 和 TItemList 对象的所有代码以及具有该外观的图像加载
我搜索了我的 Firefox 历史、我的 Chrome 历史、我的 FeedDemon 订阅源和我的 Google 书签,但无济于事。我已经用 TListBox、TListView、TItems、TItemList、Custom、Extended 和其他一些变体进行了 Google 搜索,甚至查看了 3 页结果无济于事......
有没有人偶然发现这篇文章?
请让一个“老人”恢复他的记忆和他的理智:)
干杯,
格斯
delphi - 获取/设置 TShellListView 路径/文件夹为字符串(不使用 .Root)
我想设置 TShellListView 的路径以使用 Delphi 2007 显示文件目录。我最初可以使用 TShellListView.Root 来设置这样的根路径,它显示了我想要的目录:
但是,如果用户使用退格键离开该目录并且我尝试将 .Root 设置回原始目录,则显示的目录不会改变。看起来 .Root 是为了定义 shell 命名空间的根,而不是当前目录。
此外,如果用户四处导航(使用退格等),.Root 属性不会更新以反映当前显示的路径。没有像 TShellTreeView 那样的 .Path 属性。
我想要的是一种获取当前路径并将其设置为字符串的方法,而无需将 TShellListView 链接到 TShellTreeView 并设置 TShellTreeView.Path 或破解 ShellCtrls.pas,因为 TShellListView 的相关方法看起来都是私有的。我很难相信没有一种简单的方法来获取/设置路径,所以我假设我在这里遗漏了一些简单的东西,但是这个组件根本没有记录。
delphi - 在代码中设置 TShellListView 持久列宽
有没有办法使用代码在 vsReport 模式下持续设置 Delphi 2007 TShellListView 的列宽?普通的 ShellListView.Columns[0].Width 属性仅设置当前目录的宽度,并且在每次更改当前目录或刷新文件列表(包括通过代码进行的刷新和目录更改)后,该宽度都会重置,用户双击文件夹等)。
delphi - 当我移动项目时,导致“提示”在列表视图上重新触发
当然我以前见过这样做,但是我找不到任何例子。
我有一个 TListView,设置为“报告”视图样式。它有大约六个子项,我们想做的一件事是让列表视图上的“提示”(工具提示)动态显示另一个数据字段。也就是说,每次将鼠标移到任何给定行上时,“提示”都会显示与该特定行相关的一些文本。
我已经完成了 - 我可以使用 OnInfoTip 方法执行此操作,但不幸的是,一旦出现提示,Windows 似乎决定我不需要再次查看列表视图的提示,直到我将鼠标从列表视图移开然后再次“结束”它。简单地将鼠标向下移动到下一行,始终将鼠标悬停在控件上,并不能说服程序显示新提示。
为了清楚起见 - 我已经让 OnInfoTip 工作,以便程序确实显示与我第一次将鼠标移到的项目相关的正确提示。更改提示文本不是问题。问题在于将鼠标移动到列表视图中的另一个项目不会导致软件显示新提示。(希望这是有道理的)。
是否有一些正确的方法可以使这种行为起作用,或者我最终会用鼠标悬停做一些令人讨厌的事情,然后手动绘制提示框(等)?
delphi - 如何为 `TListView` 中的每个现有项目添加其他数据?
我正在使用TListView
并且我已经成功地填充了每个项目的标题和第一个子项目。请参见下面的示例。
填充每个项目后,我获取每个项目的附加数据。我想添加这些数据来填充每个项目的“工作”、“状态”和“有效”列。如何为每个项目添加这些附加数据?
每次我尝试过时,数据似乎都存储在新项目中并显示在原始项目下方。请参见下面的示例。
如何为 a 中的每个现有项目添加其他数据TListView
?
delphi - 是否可以更改 TListView 组的字体大小?
从 Delphi 2009 开始,TListView 组件现在提供了显示使用 Groups 功能分组的项目的可能性。
是否可以仅更改组标题文本的字体大小?默认情况下,它使用与其他 ListView 项目相同的字体和大小,但我想增加组标题文本的大小。
谢谢!
delphi - 在 TListView 上的目录中列出文件
我正在构建一个需要 on Form_Create
,填充TListView
被调用的程序FileList
,我想要填充的目录是编译程序的位置 + \Files
,因为我从未使用过TListView
我想知道如何做到这一点?
delphi - tListview 子项 Delphi 中的 ProgressBar
我一直在研究如何TListView
在 Delphi 中放置进度条,并且我有一些可以工作的代码,但我想将它添加到 SubItem 并且无法弄清楚如何。
我希望它使用的代码是:
delphi - 处理在 TListView 后代中检查的项目
我有一个 TListView 后代,它引入了其他功能,例如从数据集中排序和加载。
我现在希望修改该类,以便无论何时选中或取消选中一个项目,它都会在选中项目的内部列表中添加或删除,以便使用组件实例的应用程序可以轻松读取选中项目的数量和位置,而无需遍历列表视图中的所有项目。
不幸的是,TCustomListView 似乎没有将检查/取消检查操作的处理抽象为我可以覆盖的一些内部方法(如 DoCheck),而是将检查逻辑嵌入到一个大型消息处理函数中。
我能想到的将我自己的行为巧妙地引入组件的唯一方法是劫持 OnItemChecked 属性,导致该属性读取和写入 FOnItemCheckedUser(例如)而不是 FOnItemChecked,将我自己的代码放在 FOnItemChecked 中,然后从我的代码。
有没有更直接的方法来处理这个问题?如果不是,我的想法是否可行且实施安全?