1

我对 WxWidgets 3.0.2 版有疑问。目前我正在尝试获取索引号为 0 的“ChecklistBox”的值。

它似乎有效,但是我无法让它从 C++ 填充字符串变量。

我尝试了很多东西,例如 .ToString()、.mb_str()、(string)varname 等。

我用来获取我认为有效的值的代码,但返回一个非“字符串”结果,所以我不能在我的 C++ 代码中使用它......(至少现在还没有......)

我用来获取索引号 0 的值的代码没有返回错误:

CheckListBox = new wxCheckListBox(this, CHECKBOX1, wxDefaultPosition, wxSize(208,63), 0, 0, 0, wxDefaultValidator, _T("CHECKBOX1"));
CheckListBox->GetItem(0); //Seems to work (at least gives no errors)

String Test = CheckListBox->GetItem(0); //Fails

返回错误:从 'wxOwnerDrawn ' 转换为非标量类型 std::__cxx11::string {aka std::__cxx11::basic_string}|*

简单的测试,例如以下工作,因为我看到“测试”添加到 CheckListBox:

CheckListbox->Check(CheckListBox->Append("Test"));

感谢您的任何建议!

4

1 回答 1

0

里面GetItem(idx)看不到CheckListBox

也许您正在寻找virtual wxString GetString (unsigned int n) const继承自wxListBox.

于 2016-12-20T23:07:51.133 回答