• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Как сделать, чтобы модальное окно закрылось по условию?

  • Автор темы DrMcSheen
  • Дата начала
D

DrMcSheen

Предполагается модальное диалоговое окно ProgressSave с прогресс баром и кнопкой ОК.
Надо чтобы по завершении прогресса окно само закрылось и передало управление основной программе. Прогресс ещё не создавал, это потом. Главное - отрепетировать закрывание окна.
В качестве эксперимента использую цикл for.
Такой код вызывает ошибку. вот эту:
(окно уже открыто, код из него. Пробовал всё, что закомментировано)

Код:
CProgressSave::CProgressSave(CWnd* pParent /*=NULL*/) 
: CDialog(CProgressSave::IDD, pParent) 
{ 
int i; 
for (i=0;i<10000000;i++); 
OnOK(); 
//CWnd::CloseWindow(); 
//ExitProcess; 
//Exit; 
//::exit; 
//EndDialog(IDOK); 
}

Как поступить?
 
G

grigsoft

Посмотреть на codeproject реализации прогрессов. В конструкторе класса окна самого окна еще нет, так что и закрывать нечего. И прежде чем "отрепетировать закрывание окна", стоит спланировать кто и где будет делать долгую операцию.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!