如何获取ComboBox项目数

时间:2012-08-09 15:21:19

标签: c++ c++builder vcl

我正在尝试使用以下代码获取组合框项目数。它不会给出错误,也不会给出正确的计数。我想我必须将int转换为字符串,但是如何?

ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text =  "Count: " + count;

4 个答案:

答案 0 :(得分:5)

这一行

 int count = ComboBox1->Items->Count; 

返回TComboBox中字符串项的numnber。您需要在设置

之前进行检查
ComboBox1->ItemIndex = 1;

作为ItemIndex用于在组合框中设置所选项目并且为零计数。要在Embarcadero中将整数转换为字符串,您可以使用IntToStr()函数

Edit1->Text = "Count:" + IntToStr(count)

您需要#include "System.hpp"才能访问该功能

答案 1 :(得分:3)

ComboBox1->ItemIndex = 1;
int count = ComboBox1->Items->Count;
Edit1->Text =  "Count: " + count;

这里"Count: " + count是一个表达式,其中"Count: "衰减指向字符串的第一个元素,count被添加到该指针,结果是它指向字符串中的某个位置(确定)或不在字符串的末尾(通常是未定义的行为)。

关于ComboBox1的使用,您尚未展示其声明,并且您没有提到您正在使用的GUI框架(如果有)。

因此,如果没有猜测它是什么,就无法说出来。

为了创建带有插入的文本值演示文稿的格式化文本,您可以使用例如来自std::ostringstream标题的<sstream>,如下所示:

std::ostringstream stream;
stream << "Count: " << count;
Edit1->text = stream.str().c_str();

根据.c_str()接受的内容,可能需要也可能不需要Edit1.text来电。

答案 2 :(得分:2)

ComboBox1->ItemIndex = 1; 
int count = ComboBox1->Items->Count;
Edit1->Text =  "Count: " + count;

答案 3 :(得分:0)

没有必要经历所有这些戏法。有一个简单的功能。

int count = ComboBox1.GetItemCount();