![]() |
|
|
![]()
|
|
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
MFC-приложение с несколькими диалогами.
Один из них при открытии создает и запускает поток. Этот поток при завершении посылает user-defined сообщение, на которое в диалоге есть обработчик. Сообщение из потока посылается, но вот его обработчик никогда не вызывается. Вроде все делаю по найденным примерам. Вот кратко код:
- Может быть дело в том, что передается неверный hwnd? Вместо него я попробовал ещё 2 значения, указанных в MSDN - HWND_BROADCAST и NULL. Результат тот же. Это сообщение отредактировал(а) ksili - 20.2.2009, 10:01 -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Посылай через PostMessage
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Andrey44, пробовал
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Интересно, ну тогда вот это PostThreadMessage
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Уже разобрался. Оказывается вместо ON_MESSAGE надо использовать ON_REGISTERED_MESSAGE
Хотя в тех примерах, что я нашёл, было ON_MESSAGE -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
ksili, NULL вместо HWND точно не поможет, да и BROADCAST тоже.
1) Чему равна константа FW_UPDATE_CHECKED_MESSAGE? В смысле, в допустимом диапазоне? 2) Когда заполняется структура uParams, диалог (окно) уже существует? 3) Она у тебя, часом, не автоматическая? 4) посмотри hWnd в момент записи в структуру и в момент посылки сообщения и сравни. И лучше пользоваться PostMessage, если не нужно ждать ответа: SendMessage между потоками может привести к взаимоблокировке. Добавлено через 59 секунд
Т.е. случай N 1. У них разные диапазоны и, соответственно, разные обработчики. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |