This thread is a user-interface thread, I overrode CWinThread and pass the runtime class name to AfxBeginThread just as the documentation say you're supposed to do for a user-interface thread. I was trying to figure out a way to use messages but maybe I don't know as much as I need to. I defined a message like: #define WM_UPDATECHILD (WM_APP + 1) And tried to create a handler function for that message but it would never be run. I tried to override PreTranslateMessage, OnCmdMsg, and OnCommand to intercept this message, handle it, then return a nonzero result to show it was handled and none of this worked. I just don't know what to do.