问题标签 [tlistbox]

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 回答
114 浏览

delphi - 为什么在检查最后一个 TListBoxItem 时我的 TListBox 变为空白?

问题

当以编程方式检查最后一个时,我TListBox变得空白。为了更好地说明它,在此我所说的空白是什么意思:TListBoxItem

在此处输入图像描述


语境

我正在从TJSONArray. 每个项目看起来像{"event_code","event_name"}

然后,我比较 event_code 是否写在第二个TJSONArray:上json_response_available_events。如果是这样,ListBoxItem将进行检查。


代码


分析

如果我们设置为<only,它会正确显示列表,但最后一项将保持未选中状态。

我什至可以更改它的=属性

并且lb_item.isChecked := false工作正常,但是在设置时lb_item.isChecked := true它变得异常空白。

为什么会这样?如果有更好的方法来做我正在做的事情,我们将不胜感激。

0 投票
1 回答
153 浏览

drag-and-drop - delphi xe 7 Tlistbox主窗体拖放后焦点松动

我在 delphi xe7 中发现了一个错误,在拖放 TlistBoxitem 之后,对所有组件都形成了松散的效果。

我必须单击表单才能获得 mouseenter 效果。我看到(在调试模式下)TlistBox 通过调用 os dragAndDrop 服务的操作系统开始拖放。来自 FMX.ListBox 单元

我在 delphi berlin 上尝试了拖放,该错误已修复。我看不到源,因为它是轻型版本。

我在网上没有找到任何解决方案。

我做了一个项目示例:http: //www.partage-fichiers.com/upload/qgbl1e5g

拖放项目后,鼠标输入(在所有组件上)并单击 Tlabel(hittest=true)不会被触发

0 投票
1 回答
707 浏览

sorting - Delphi按ItemData.Detail对TListBox排序?

我有一个包含位置列表的 TListBox(每个位置都有一个名称和与您当前位置的距离)。我想为用户提供按位置名称(即按字母顺序)或与当前位置的距离对列表进行排序的选项。位置名称存储为项目的 ItemData.Text 值,与当前位置的距离存储为 ItemData.Detail 值。问题是常规 TListBox 排序方法在排序时不使用 ItemData.Detail 属性(仅使用 ItemData.Text 属性)。是否可以向 TListBox 添加自定义排序方法,该方法根据每个项目的 ItemData.Detail 值进行排序?

我尝试了以下方法,但它不起作用:

这是一个将被排序的示例列表的图像:

这是一个将被排序的示例列表的图像

0 投票
1 回答
545 浏览

delphi - 如何垂直居中 TListBox 项目?

所以我想垂直居中TListBox(不是TListView)项目。

我可以使用TopIndex财产,但我该怎么做。

如果项目较少所以滚动条不出现,则不需要居中,只选择默认项目就可以了。

像这样的东西:

垂直居中的 TListBox

0 投票
1 回答
1073 浏览

delphi - 列表框 Onchange 事件,组件

我想制作一个基于TListBox.

Items.Count更改时,我想更新Captiona TLabel

我制作了下面的组件,但它不起作用:

0 投票
1 回答
1153 浏览

delphi - Firemonkey TListBox.OnClick - 点击了哪个项目?

Delphi 10.2.2 移动版

从一个空白的移动项目开始,我在表单上放置了一个 TListBox。我添加了两个 TListBoxItem。

当我单击 Windows 和 Macintosh 中的第一个项目时, OnClick() 正确报告已单击项目索引 0。

当我单击移动设备(iOS 和 Android)中的第一个项目时,OnClick() 将项目索引报告为 -1(而不是应该的 0)。然后它继续突出显示第一项。

如果我然后单击移动设备中的第二个项目,则 OnClick() 将项目索引报告为 0(而不是应有的 1)。然后它继续突出显示第二项。

在移动设备上单击 TListBox 时,如何在 OnClick() 中获取正确的项目?

0 投票
1 回答
1347 浏览

delphi - 带有MultiSelect的Firemonkey(Delphi)TListbox获取所选项目

我在 Delphi 10.2 Tokyo 中使用 Firemonkey。

我有一个 HD 表格,TListBox它的 aMultiSelectStyle设置为Extendedor 或Default

我可以选择多个项目,但是我找不到以编程方式确定选择哪些项目的方法。

这段代码

我见过的变体无法编译

[dcc32 错误] MainApplication.pas(60): E2149 类没有默认属性

我已经通过了各种属性和方法,TListBox但我看不到找出哪些项目被选中的方法。

任何人都可以帮我解决这个问题吗?

0 投票
1 回答
162 浏览

delphi - 如何在 TForm 的边界之外显示控件(例如 TListbox)

如何在运行时显示超出父窗体边界的列表框:

在此处输入图像描述

图像是在设计时单击列表框时从 IDE 获取的。我想在运行时达到这个效果。

0 投票
0 回答
187 浏览

delphi - 防止“刷出” TListBox 项

我有一个 Delphi Berlin 构建的 Android 应用程序,其中包含一个 TListBox。在某些时候,我手动添加了一个 TListItem (下面的代码)。不幸的是,用户可以对其进行向右或向左滑动,这似乎会删除列表项,并且会在稍后的某个时间点导致应用程序崩溃。

如何禁用在 TListBoxItem 上向右或向左滑动的功能?我没有看到任何用于删除功能的滑动,并且我已经尝试捕获向右滑动的手势,但没有运气。如果我将 Selectable 设置为 false,我将无法再滑动它,但是上面的 Item 的绘画将被删除。

在运行时添加项目的代码:

0 投票
2 回答
1364 浏览

delphi - 在按字符串过滤时隐藏 TListBox 中的项目

简短版:有没有办法单独控制或修改 LisBox 项目?例如,将它们的Visible 属性分别设置为 False。我在搜索时在Fire Monkey中找到了一个TListBoxItem类,但我不想在 VCL 中使用 Fire Monkey 并想要它。

详细版本:我尝试使用两个 TStringList 和一个 Edit 过滤我的 ListBox,一个 StringList 是全局的以保留原始列表(list_files_global),另一个 StringList 帮助过滤过程(list_files_filter),我的主要文件列表是我的 ListBox(list_files)。onCreate当程序开始存储我的原始列表时,我在事件上创建了我的全局 StringList :

并使用 Edit 的onChange事件进行过滤:

为了关闭过滤器,只需从我最初创建的全局列表中恢复列表:

到目前为止,一切正常,但问题是当我试图从过滤列表中编辑/重命名/删除项目时,例如我更改了一个项目:

列表将被编辑,但是当我关闭过滤器时,原始列表将返回并且所有更改都将丢失。所以我想知道有什么合适的方法来解决这个问题吗?像单独隐藏项目或更改项目可见性等...所以我可以更改过滤算法并摆脱所有这些制作额外列表的操作。我在互联网上搜索并查看了一整天的 Delphi 帮助文件,没有任何有用的东西出现。