WxWidgets CheckListBox получает проблему со значением

У меня проблема с WxWidgets версии 3.0.2. В настоящее время я пытаюсь получить значение «ChecklistBox» с номером индекса 0.

Кажется, это работает, однако я не могу заставить его заполнить строковую переменную из С++.

Я пробовал много вещей, таких как .ToString(), .mb_str(), (string)varname и т.д.

Код, который я использую для получения значения, которое, как я полагаю, работает, но возвращает не "строковый" результат, поэтому я не могу использовать его в своем коде на С++... (по крайней мере, пока...)

Код, который я использую для получения значения индекса 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 {он же std::__cxx11::basic_string}|*

Простой тест, такой как следующая работа, так как я вижу, что «Тест» добавлен в CheckListBox:

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

Спасибо за любой совет!


person TVA van Hesteren    schedule 20.12.2016    source источник
comment
Вы пробовали .mb_str().data()   -  person ravenspoint    schedule 21.12.2016


Ответы (1)


Я не вижу GetItem(idx) в CheckListBox.

Возможно, вы ищете virtual wxString GetString (unsigned int n) const, унаследованный от wxListBox.

person John3136    schedule 20.12.2016
comment
Спасибо, GetString был выходом - person TVA van Hesteren; 21.12.2016
comment
Проголосовать и/или принять ответ — это обычный способ поблагодарить того, кто вам помог. - person John3136; 22.12.2016
comment
Конечно, но вам нужно как минимум 15 очков репутации, Джон. - person TVA van Hesteren; 22.12.2016
comment
У меня сложилось впечатление, что вы можете принять ответ без специального представителя, но я не буду спорить. - person John3136; 23.12.2016
comment
Принять да, я сделал на самом деле - person TVA van Hesteren; 23.12.2016