c++ - wxwidgets 连接多个功能

标签 c++ wxwidgets

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

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

如果有任何解决此问题的建议,我将不胜感激

最佳答案

找到的第一个事件处理程序首先获取事件,如果它在处理过程中不调用 event.Skip(),则不会调用其他处理程序。因此,如果您想对一个事件使用多个处理程序,您需要确保您的事件处理程序确实调用了wxEvent::Skip()。请参阅the event handling processing overview了解更多信息。

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

关于c++ - wxwidgets 连接多个功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28964493/

相关文章:

c++ - wxWidgets绘制顺时针椭圆弧

c++ - 为什么 EOF 字符放在行尾时不起作用?

c++ - 用一个字母替换字符串中每个重复字母的脚本

c++ - 传递没有所有权的简单指针来提升 python

windows - wxMSW设置窗口左上角图标

c++ - 通过选择 'Quit' 菜单项关闭应用程序 - wxWidgets 3.0

c++ - priority_queue 的问题 - 在堆之后写入内存

c++ - 在 Direct3D 11 中绘制具有不同数量基元的对象

c++ - 如何在Wxwidgets中调试?

python - 避免在笔记本中单击退出 wxPython TreeCtrl