如何在功能上设置多个事件
How to set multiple events on function
如何调用一个已经附加了事件的函数?
我希望能够像这样调用函数:
statsDialog::statsDialog(..) : wxDialog(..) {
updateStats();
}
或者,如何绑定多个事件处理程序到一个函数?例如,使用wxEVT_SET_FOCUS
事件调用updateStats,当UPDATE_STATS_BUTTON
被按下时。我怎么能做到这一点,而不重复代码(复制updateStats函数只是将其更改为wxFocusEventHandler
)?
BEGIN_EVENT_TABLE(statsDialog, wxDialog)
EVT_BUTTON(UPDATE_STATS_BUTTON, statsDialog::updateStats)
END_EVENT_TABLE()
statsDialog::statsDialog(..) : wxDialog(..) {
// layout stuff
}
void
statsDialog::updateStats(wxCommandEvent& event) {
// do stuff on dialog focus AND when UPDATE_STATS_BUTTON is pressed
}
只需从焦点和按钮事件处理程序调用一个名为DoUpdateStats()
的函数。当使用带有Bind()
:
Bind(wxEVT_SET_FOCUS, [](wxFocusEvent& e) { e.Skip(); DoUpdateStats(); });
btn->Bind(wxEVT_BUTTON, [](wxCommandEvent&) { DoUpdateStats(); });
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 具有Qt事件循环的可移植通用共享库设置
- glfw 的基本设置会导致与 emscripten 生成的 js 文件中的事件侦听器有关的运行时错误
- OpenCV 为键盘事件设置回调
- 如果事件在仍在执行时再次设置,RegisterWaitForSingleObject 是否会并行运行回调?
- 如何在 C++ 中的 WebKitX ActiveX 控件中设置单击事件
- 在使用 Poll() 的 TCP 服务器 - 客户端连接中,我是否需要手动设置事件?我从来没有到达 POLLOUT 来写
- 如何在Qt中设置时间延迟以触发即将发生的事件
- 将文件描述符添加到EPOLL,将事件设置为零是有效的
- 如何设置并发::事件对象,仅当它现在未处于信号状态时
- 如何调试是否设置了 Windows 事件对象
- 在创建子小组件后设置父小组件时,子小组件对事件是透明的
- 事件类型设置为SDL_MOUSEBUTTONDOWN,即使在未按下任何按钮时也是如此
- 如何在功能上设置多个事件
- 在<iomanip>《流血事件》中使用C++进行格式设置
- 如何设置按钮点击事件功能,Borland Turbo c++
- 将轻扫事件设置为精灵
- 在 Visual Studio 2008 上设置预调试事件