【发布时间】:2019-08-27 05:38:04
【问题描述】:
使用 wxSmith 我有一个包含许多按钮的对话框,这些按钮需要相同的事件处理程序,但当然是作用于它们自己的数据实例。
以前使用 C++ builder 时,我会在小部件的标记字段中放置一个标识符字符串。然后我将有一个函数来迭代所有小部件并使用字符串作为构造函数来创建一个自定义对象并在标签字段中放置一个指向该对象的指针。
这样,通用事件处理程序可以简单地转换标记字段来获取知道如何处理事件的自定义特定实例。
其他 GUI API,例如 Visual Basic,更简单,但允许控件数组或索引,并且通过引用索引调用事件,所以这种事情仍然可以使用数组。
到目前为止,我能看到将附加信息与 wxWidget 关联的唯一方法是将其继承到我自己的自定义控件中,但我担心这会破坏与 wxSmith 的兼容性。
有人知道这样做的优雅方法吗?
【问题讨论】: