Событие mfc не вызывается, пока открыт afxMessageBox - PullRequest
0 голосов
/ 02 ноября 2010

У меня есть событие MFC. Я заявляю это так: const UINT WM_SECEVENT = RegisterWindowMessage (_T («Мое событие»)); Я поднимаю событие: :: PostThreadMessageA (dwCurThreadId, WM_SECEVENT, (WPARAM) pMsgParam, 0); В моей MessageMap я написал: ON_Rurable_THREAD_MESSAGE (WM_SECEVENT, OnThreadSecEvent);

Все работает нормально, когда WM_SECEVENT повышен, OnThreadSecEvent начинает работать. Проблема в том, что у меня также есть да / нет afxMessageBox. Во время работы afxMessageBox моя программа не «перехватывает» событие, и OnThreadSecEvent не вызывается. Как я могу решить эту проблему?

Спасибо

1 Ответ

0 голосов
/ 02 ноября 2010

Работает ли в ваших целях публикация в окне в потоке, а не в самой очереди сообщений потока?

http://support.microsoft.com/kb/183116

Вместо того, чтобы использовать PostThreadMessage для публикации сообщений в потоке пользовательского интерфейса, используйте PostMessage для отправки сообщений в окно, принадлежащее этой теме. Поскольку сообщения, направленные в окно, могут отправляться вторичным циклом сообщений, сообщения по-прежнему обрабатываются должным образом, даже если поток не работает в своем основном цикле сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...