Показать окно сообщения о блокировке

0

Есть ли что-то похожее на CWaitCursor, которое показывает окно сообщения вместо анимации курсора?

В моем приложении MFC GUI я хочу показать окно с сообщением "Please wait..." перед вызовом долговременной функции, а затем закрыть окно сообщения после завершения функции. Пользователь не должен упускать окно с сообщением.

Спасибо.

Теги:
mfc

1 ответ

0

Вы можете использовать немодальное диалоговое окно или простое всплывающее окно со статическим контролем в нем. Хитрость заключается в использовании UpdateWindow/RedrawWindow, чтобы привести его в окно просмотра и принудительное обновление.

Проблема может возникнуть при длительной работе программы и не перекачивать никаких сообщений. В этом случае окно может быть закрыто и обнаружено, и без сообщения Loop он не будет окрашиваться снова.

Таким образом, можно создать новое окно, установить фокус на него и отключить главное окно. Чем вы можете накачать сообщения при длительной операции.

Легче было бы включить длительную операцию во второй поток и показать диалог с сообщением Loop в основном потоке, ожидающим завершения процесса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню