HudsonMC
HudsonMC

Reputation: 310

Capturing and reacting to custom windows events in wxPython

I'm in the process of writing an app to interface with a service running on another machine. When I ask this service for some information, this service adds the requested information to a separate queue, and sends a windows message to the calling application (my application) indicating there is a message waiting in this separate queue which needs to be decoded.

The windows message this service sends is a custom message, defined in the service code as having some constant int value. I've found examples of creating custom events in wxpython, and using TryBefore() and TryAfter() to react to these events in specific ways, but I haven't found any way to associate this NewEvent() with an int value so I can identify it when it comes in, much less any way to determine what an int value of an incoming event is.

Has anyone done this before or know of any functions I'm not aware of? I'm using python 3.6 and wxpython 4.0.

Thanks for your help, everyone.

Upvotes: 1

Views: 288

Answers (1)

RobinDunn
RobinDunn

Reputation: 6206

I think this is what you are looking for: https://wiki.wxpython.org/HookingTheWndProc

When you get the custom message from the hooked WndProc you can either react to it there, or you can turn it into a wx event and send it so it can be caught by binding an event handler like normal. The wx.lib.newevent module has some helpers for creating a custom event class and an event binder. Its use is demonstrated in some of the demo samples and library modules.

Upvotes: 2

Related Questions