Is there a way to use PostThreadMessage() to send a custom application message (WM_APP) to a dialog class and have the class route the message to the approperate handler (though use of the ON_MESSAGE or ON_THREAD_MESSAGE macros)? I can intercept the message in PreTranslateMessage, but I don't like having a big switch in the dialog that maps every message to a handler. The message is coming from a CWinThread instance and is being sent to the dialog by specifing the dialog's thread id. I don't have any trouble compiling and running my application, only in the dialog class ignoring a "non-input event" (in CWnd::PreTranslateInput).