带有MultiSelect的Firemonkey(Delphi)TListbox获取选定项

时间:2018-06-21 21:11:13

标签: delphi firemonkey delphi-10.2-tokyo tlistbox

我正在东京Delphi 10.2中使用Firemonkey。

我有一个带有TListBox且其MultiSelectStyle设置为ExtendedDefault的高清表单。

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

此代码

for loop := 0 to Listbox1.Count - 1 do
if Listbox1.Selected[loop] then ; //Do Something

我已经看到 的变体无法编译

  

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

我已经遍历了TListBox的各种属性和方法,但看不到找到选择哪些项目的方法。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:4)

在FireMonkey中,TListBox.Selected属性是指向第一个选定的TListBoxItem对象的指针。它不是it is in VCL之类的布尔状态数组。您一定在看VCL示例,而不是FMX示例。

该错误消息是因为您试图将[loop]索引应用于特定的TListBoxItem对象,该对象没有default属性。

改为使用此:

for loop := 0 to ListBox1.Count - 1 do
begin
  if ListBox1.ListItems[loop].IsSelected then
    ...
end;