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

Тема в разделе "MS Visual C++", создана пользователем DrMcSheen, 24 авг 2009.

  1. DrMcSheen

    DrMcSheen Гость

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

    Код (Text):
    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);
    }
    Как поступить?
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Посмотреть на codeproject реализации прогрессов. В конструкторе класса окна самого окна еще нет, так что и закрывать нечего. И прежде чем "отрепетировать закрывание окна", стоит спланировать кто и где будет делать долгую операцию.
     
Загрузка...

Поделиться этой страницей