Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.131.13.37] |
|
Сообщ.
#1
,
|
|
|
Набросал простенький проект, показывающий суть проблемы.
Здесь по нажатию на кнопку "Тест" в главном окне запускается таймер на 10сек и открывается диалоговое окно-2, в котором мы жмем на кнопку "Окно-3". В итоге имеем 3 окна. Срабатывает таймер и посылает окну-2 сообщение на закрытие. Окно-2 закрывается, а вот окно-3 - нет! Как исправить? Прикреплённый файлcc.zip (132,29 Кбайт, скачиваний: 9) |
Сообщ.
#2
,
|
|
|
Цитата Vladimir_ @ Срабатывает таймер и посылает окну-2 сообщение на закрытие. Окно-2 закрывается, а вот окно-3 - нет! Как исправить? Так добавьте в обработчике закрытия у окна 2 проверку на открытое окно 3 и его закрытие. |
Сообщ.
#3
,
|
|
|
Цитата macomics @ Добавляю в OnClose() ::SendMessage(hWnd3, WM_CLOSE, 0, 0); В итоге закрывается Окно-2, а потом Окно-3 и естественно вылетает ошибка А как дождаться закрытия окна-3, чтоб потом закрыть окно-2? |
Сообщ.
#4
,
|
|
|
Так у вас в таймере стоит PostMessage, а не SendMessage. Одна (SendMessage) дожидается завершения обработки и возвращает результат обработки сообщения, а вторая (PostMessage) просто отправляет сообщение.
|
Сообщ.
#5
,
|
|
|
Пробовал оба варианта - не помогает!
|