0

wxComboBox当用户从自己的下拉列表中选择一个项目时,如何更改 a 的值?我已经添加EVT_COMBOBOX(ID_WXCOMBODATETIME, CNFrm::WxComboDateTimeSelected)到我的EVENT_TABLE.

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

SetValue只是清空控件,它没有设置它。

任何帮助表示赞赏。

4

1 回答 1

0

我不确定表值。我使用connect,我发现它更优雅,更少干扰。当您构建组合框时,您需要以这种方式插入它:

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

然后后来:

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

请注意,它MyHandler必须是 a wxEvtHandler,但如果你有 and 对象继承自wxComboBoxor wxPanelwxWindow那很好,因为它们都是wxEvtHandler.

还有三种不同的活动,我不确定哪一种最适合您的需要:wxEVT_COMMAND_COMBOBOX_SELECTED, wxEVT_COMMAND_TEXT_UPDATED,wxEVT_COMMAND_TEXT_ENTER

于 2013-05-31T07:47:58.987 回答