Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2009, 13:57   #1
DrMcSheen
Новичок
Джуниор
 
Регистрация: 24.08.2009
Сообщений: 2
По умолчанию Как сделать, чтобы модальное окно закрылось по условию?

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

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

Последний раз редактировалось Sazary; 24.08.2009 в 15:38.
DrMcSheen вне форума Ответить с цитированием
Старый 24.08.2009, 14:22   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2DrMcSheen издеваешься? в конструкторе вызывать onok, когда еще не отработал инит диалог и тп) жжошь напалмом. просто выжигаешь.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 24.08.2009, 15:54   #3
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Этот процесс, видимо, должен выполныться либо в таймере, либо в отдельном потоке (см. _beginthread()), тогда и ProgressBar, и этот for, и OnOK должны работать из функции OnTimer, или из функции потока.
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать параметр в другое(модальное) окно? kiber0net0 Общие вопросы Delphi 3 21.09.2008 13:03
КАК СДЕЛАТЬ ТАК ЧТОБЫ ВСЕ КОМПОНЕНТЫ КОТ. НА ФОРМЕ РАСТЯГИВАЛИСЬ НА ВСЁ ОКНО ПРИ РАЗВЁОТЫВАНИЕ ОКНА???? Alexij Общие вопросы Delphi 4 23.06.2008 10:44
Как сделать так чтобы окно формы всегда было поверх остальных окон? HelloZAPOR Общие вопросы Delphi 5 23.07.2007 08:05
как сделать, чтобы в определенное время появлялось новое окно Alar Общие вопросы Delphi 0 29.10.2006 20:30