| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Порядок выполнения функций... |
| Автор: BlowFish 23.11.2002, 17:35 |
| Пишу в VC. Имеется два элемента на форме (диалоговое окно): кнопка и edit. Обрабатываю событие - нажатие кнопки. В обработчике выполняю следующие действия: - кнопка становится неактивной - в edit`е выводится текст (например: "Analyzing...") - дальше идут мои собственные вычисления - возвращаю в исходное состояние: кнопка - активна, в edit`e выводится "Ready" - return; Когда выполняется прога, при нажатии на кнопку она меняет свое состояние активна-неактивна, а вот в edit как была надпись "Ready" так и осталась. Посоветуйте пожалуйста, как сделать, чтоб в момент вычисления в edit отражалось текущее состояние программы. |
| Автор: Klin 23.11.2002, 17:56 | ||
То есть? |
| Автор: BlowFish 23.11.2002, 18:04 |
| т.е. хочу чтоб, когда я нажал на кнопку (при этом у меня прога считает числа) в edit`е отобразилась надпись "Analysing...". А этого не происходит |
| Автор: Baa 23.11.2002, 19:14 |
| А может это происходит? просто вычисления слишком быстро проходят, что тут же реади выводится? |
| Автор: BlowFish 24.11.2002, 00:46 |
| Нет вычисления долгие (~15сек). Просто если в конце обработчика не возвращать в исходное состояние edit, то после выполнения обработчика в edit будет "Analyzing...", т.е. хотя функция на смену надписи "Ready" в "Analyzing..." вызывается раньше, чем происходят вычисления, но обновлятся состояние edit`а будет после обработчика нажатия кнопки. Причем Invalidate() не помагает |
| Автор: Baa 24.11.2002, 01:25 |
| Код бы чтоли показал... (токо вычисления убери куда-нить) |
| Автор: BlowFish 24.11.2002, 02:55 | ||||
В результате выполнения проги (нажатие на кнопку) надпись в StatusLineEdit как была "Ready", так и осталась "Ready". Если запустить такой код:
то после вычислений (после выполнения OnButtonStart()) в StatusLineEdit появится "Analyzing...", т.е. все выводится только не в том порядке как мне надо. Мне так-то надо всего лишь элемент в программе, который бы отображал состояние выполнения программы. |
| Автор: Baa 24.11.2002, 08:50 |
| Как я понял, UpdateWindow не катит :\ засунь вычисления в отдельный поток ;) |
| Автор: Baa 24.11.2002, 09:04 | ||
Вобщем-то вот... все отлично работает...
|
| Автор: BlowFish 24.11.2002, 17:21 |
| Спсибо все получилось |