当用户从自己的下拉列表中选择项目时,如何更改wxComboBox
的值?我已将EVT_COMBOBOX(ID_WXCOMBODATETIME, CNFrm::WxComboDateTimeSelected)
添加到EVENT_TABLE
。
void CNFrm::WxComboDateTimeSelected(wxCommandEvent& event )
{
WxComboDateTime->SetValue ( "ljlk" );
}
在函数中尝试SetValue
只是清空控件,它没有设置它。
感谢任何帮助。
答案 0 :(得分:0)
我不确定表值。 我使用连接,我发现它更优雅,更少侵入。 构建组合框时,需要以这种方式插入:
handler->Connect(
the_combobox->GetId(),
wxEVT_COMMAND_COMBOBOX_SELECTED,
(wxObjectEventFunction) &MyHandler::onSelected);
然后是:
void MyHandler::onSelected(wxEvent& the_event)
{
}
请注意,MyHandler
必须是wxEvtHandler
,但如果您拥有并且继承自wxComboBox
或wxPanel
,wxWindow
的对象,则可以所有wxEvtHandler
。
此外还有三个不同的事件,我不确定哪一个最适合您的需要:wxEVT_COMMAND_COMBOBOX_SELECTED
,wxEVT_COMMAND_TEXT_UPDATED
,wxEVT_COMMAND_TEXT_ENTER