wxComboBox 返回十六进制

wxComboBox returns Hex

本文关键字:十六进制 返回 wxComboBox      更新时间:2023-10-16

我的wxComboBox有问题。我用wxString设置了两个值(P 01和P 03(。现在我开始一个活动

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();

我得到了类似0x23e1d80x23e4b4的东西...

必须做什么来解决我的问题?我想要字符串回来,或者,这会更好,字符串索引(0 = P 01; 1 = P 03(像GetSelection((应该做(但也只提供一个十六进制...

-卡西斯托

(使用 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() );