У меня проблемы с моим wxComboBox. Я установил два значения (P 01 и P 03) с помощью wxString. Теперь я начинаю событие с
Connect(ID_DEV, wxEVT_COMMAND_COMBOBOX_SELECTED,
wxCommandEventHandler(MF_Setup::OnDev));
Когда я сейчас попробую:
wxString devval[10] = cb_Setup_4->GetValue();
std::stringstream ss_dev;
ss_dev << cb_Setup_4->GetStringSelection();
Я получил что-то вроде 0x23e1d8 или 0x23e4b4 назад...
Что я должен сделать, чтобы решить мою проблему? Я хочу, чтобы String вернулась, или, это будет намного лучше, индекс String (0 = P 01; 1 = P 03), такой как GetSelection(), должен делать (но также обеспечивает только Hex...)
-Casisto
(с использованием wxW 2.9.4)
Это решение моей проблемы:
int dev = cb_Setup_4->GetSelection();
wxString devval[10] = cb_Setup_4->GetValue();
GetValue()
не может возвращать массив. Я удивлен, что это утверждение даже компилируется.
std::stringstream ss_dev;
ss_dev << cb_Setup_4->GetStringSelection();
GetStringSelection()
возвращает wxString
который не может быть вставлен в поток. Вам нужно использовать c_str()
чтобы получить const char *
который вы можете вставить в поток.
ss_dev << ( cb_Setup_4->GetStringSelection().c_str() );