wxwidgets连接多个函数

wxwidgets connect multiple functions

我正在尝试将按钮连接到不同 类 中的两个不同功能。问题是,每当我连接第二个功能时,与第一个功能的连接似乎就消失了

windowpointer->Connect( wxbuttonID, wxEVT_COMMAND_BUTTON_CLICKED,
(wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) &class1::func1, NULL, (wxEvtHandler*) myclass1);

windowpointer->Connect( wxbuttonID, wxEVT_COMMAND_BUTTON_CLICKED,
(wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) &class2::func2, NULL, (wxEvtHandler*) myclass2);

非常感谢任何解决此问题的建议

第二个 Connect 调用将替换第一个。

可能有一个调用 class1::func1 和 class2::func2 的方法(比如 onXXXButtonClicked),并将按钮连接到 onXXXButtonClicked。

找到的第一个事件处理程序首先获取事件,如果它没有调用 event.Skip() 作为其处理的一部分,则不会调用其他处理程序。因此,如果您想为一个事件使用多个处理程序,您需要确保您的事件处理程序调用 wxEvent::Skip()。有关详细信息,请参阅 the event handling processing overview

另请注意,在多个地方处理诸如 wxEVT_BUTTON 之类的命令事件通常不是一个好主意,即让程序员和用户都感到困惑。您希望按钮点击只被处理一次,虽然您可以为它设置多个处理程序,但这不太可能是个好主意。