На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Как закрыть все дочерние окна?
    Набросал простенький проект, показывающий суть проблемы.
    Здесь по нажатию на кнопку "Тест" в главном окне запускается таймер на 10сек и открывается диалоговое окно-2, в котором мы жмем на кнопку "Окно-3".
    В итоге имеем 3 окна.
    Срабатывает таймер и посылает окну-2 сообщение на закрытие. Окно-2 закрывается, а вот окно-3 - нет!
    Как исправить?
    Прикреплённый файлПрикреплённый файлcc.zip (132,29 Кбайт, скачиваний: 9)
      Цитата Vladimir_ @
      Срабатывает таймер и посылает окну-2 сообщение на закрытие. Окно-2 закрывается, а вот окно-3 - нет!
      Как исправить?

      Так добавьте в обработчике закрытия у окна 2 проверку на открытое окно 3 и его закрытие.
        Цитата macomics @

        Добавляю в OnClose()
        ::SendMessage(hWnd3, WM_CLOSE, 0, 0);

        В итоге закрывается Окно-2, а потом Окно-3 и естественно вылетает ошибка
        А как дождаться закрытия окна-3, чтоб потом закрыть окно-2?
          Так у вас в таймере стоит PostMessage, а не SendMessage. Одна (SendMessage) дожидается завершения обработки и возвращает результат обработки сообщения, а вторая (PostMessage) просто отправляет сообщение.
          Сообщение отредактировано: macomics -
            Пробовал оба варианта - не помогает!
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0264 ]   [ 18 queries used ]   [ Generated: 27.04.24, 09:42 GMT ]