【发布时间】:2020-07-09 01:54:59
【问题描述】:
究竟什么是事件表,它有什么作用?我问的是 wxWidgets,但它可能是一个通用的 GUI 编程概念,所以请纠正我。
【问题讨论】:
-
您可能想更具体地回答您的问题..
究竟什么是事件表,它有什么作用?我问的是 wxWidgets,但它可能是一个通用的 GUI 编程概念,所以请纠正我。
【问题讨论】:
为简单起见,eventd 表告诉了在哪个事件发生时调用哪个函数。
但是,这是一种将事件映射到函数的旧方法。 它不再被推荐,因为它不是很灵活,并且使用宏技巧来完成它的工作。 宏本身在 C++ 中通常不是很推荐。
除非你必须坚持使用 C++03,否则你不应该再使用事件表。 相反,您应该对 C++11 或更高版本中的 New WXWidgets 项目使用 bind 方法。 绑定更灵活,不用宏。
您也可以在 WXWidgets 教程中找到此建议。 但是,您仍然必须能够阅读和理解旧的事件表,因为许多示例已经很久没有更新了。
【讨论】:
一个事件表告诉 wxWidgets 将事件映射到成员函数。它应该在 .cpp 文件中定义。
wxBEGIN_EVENT_TABLE()
是一个宏的例子
【讨论】:
除了其他答案,我想说的是,如果您开始学习 wxWidgets,您应该知道事件表是处理事件的传统方式,并且使用 Bind() 是首选方式它在新代码中。
特别是,Bind() 的“魔力”要小得多,并且不使用任何宏。
【讨论】: