【发布时间】:2010-09-13 17:47:53
【问题描述】:
我在非 GUI 线程上接收来自网络的消息,需要使用 wxEvtHandler::AddPendingEvent 告诉 GUI 进行相应更新。我还需要将数据传递给我的 GUI 代码,以便它可以适当地行动。
我相信我必须创建一个自定义事件,但还没有找到一个简单的实现。我发现的最接近的东西是Creating a Custom Event 上的 wxWiki,这是一个部分示例。
【问题讨论】:
我在非 GUI 线程上接收来自网络的消息,需要使用 wxEvtHandler::AddPendingEvent 告诉 GUI 进行相应更新。我还需要将数据传递给我的 GUI 代码,以便它可以适当地行动。
我相信我必须创建一个自定义事件,但还没有找到一个简单的实现。我发现的最接近的东西是Creating a Custom Event 上的 wxWiki,这是一个部分示例。
【问题讨论】:
如果您从不同的线程接收消息,那么you explicitily can not use AddPendingEvent。您必须改用wxEvtHandler::QueueEvent。
其次,有几个创建自定义事件类的好例子:the old way、the new way。
使用旧方法,您还可以使用 Connect 方法并省略事件表,但在该示例中没有说明。新方法具有更受欢迎的 Bind 方法...但正如您在 my question 中看到的那样,我遇到了自己的问题。
【讨论】: