什么是事件表 (wxWidgets)?



事件表到底是什么,它有什么作用?我问的是wxWidgets,但也许这是一个通用的GUI编程概念,所以请纠正我。

为了简单起见,evend 表告诉在发生哪个事件时调用哪个函数。

但是,这是将事件映射到函数的旧方法。 它不再被推荐,因为它不是很灵活,并使用宏技巧来完成它的工作。 宏本身在C++中通常不是很推荐。

除非必须坚持使用 C++03,否则不应再使用事件表。 相反,您应该对 C++11 或更高版本中的新 WXWidgets 项目使用 bind 方法。 绑定更灵活,不使用宏。

您也可以在 WXWidgets 教程中找到此建议。 但是,您仍然必须能够阅读和理解旧的事件表,因为许多示例已经很久没有更新了。

事件表告诉 wxWidgets 将事件映射到成员函数。它应该在.cpp文件中定义。

wxBEGIN_EVENT_TABLE() 

是宏的示例

除了其他答案之外,我还想说,如果您开始学习 wxWidgets,您应该知道事件表是处理事件的传统方式,并且在新代码中使用 Bind() 是首选方法。

特别是,Bind()的"魔力"要小得多,并且不使用任何宏。

最新更新