在C++Builder中从TListBox中提取字符串

问题描述 投票:0回答:1

如何在 C++Builder 中从

TListBox
中提取字符串?

列表框是在运行时从数据库填充的,我需要所选项目的字符串值。该框是单选框。我正在使用 C++Builder 12 CE。

我尝试使用

TStrings*
直接提取到
String
Items[]
,但不断出现类型不匹配或有关抽象类的错误。

c++ c++builder tlistbox
1个回答
0
投票

由于

Items
TStrings*
,因此您可以使用
*
取消引用它以使用其
operator[]

for (int idx = 0; idx < ListBox1->Count; ++idx) {
  auto str = (*ListBox1->Items)[idx];
  // do something with str
}

或者访问

Items->Strings
:

auto str = ListBox1->Items->Strings[idx];

或与

->
:

auto str = ListBox1->Items->operator[](idx);

使用

TListBox::ItemIndex
获取所选项目的索引:

if (int idx = ListBox1->ItemIndex; idx == -1) {
  // no item selected
} else {
  auto str = (*ListBox1->Items)[idx];
  // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.