2013-05-29 26 views
0

如何在用户从其自己的下拉列表中选择一个项目时更改wxComboBox的值?我已将EVT_COMBOBOX(ID_WXCOMBODATETIME, CNFrm::WxComboDateTimeSelected)添加到我的EVENT_TABLE如何根据所选项目更改wxComboBox的文本

void CNFrm::WxComboDateTimeSelected(wxCommandEvent& event) 
{ 
    WxComboDateTime->SetValue ("ljlk"); 
} 

尝试SetValue在函数中只是清空控件,它没有设置它。

任何帮助表示赞赏。

回答

0

我不确定表值。 我使用连接,我觉得它更优雅,侵扰性更小。 当你建立你的组合框,你需要这样插:

handler->Connect(
    the_combobox->GetId(), 
    wxEVT_COMMAND_COMBOBOX_SELECTED, 
    (wxObjectEventFunction) &MyHandler::onSelected); 

再后来:

void MyHandler::onSelected(wxEvent& the_event) 
{ 
} 

注意MyHandler必须是wxEvtHandler,但如果你有和对象继承wxComboBoxwxPanel,wxWindow,没关系,因为它们都是wxEvtHandler

也有三种不同的事件,我不知道哪一个是最适合你的需要:wxEVT_COMMAND_COMBOBOX_SELECTEDwxEVT_COMMAND_TEXT_UPDATEDwxEVT_COMMAND_TEXT_ENTER

相关问题