0

是否有类似于 CWaitCursor 的东西显示消息框而不是光标动画?

在我的 MFC GUI 应用程序中,我想在调用长时间运行的函数之前显示消息框“请稍候...”,然后在函数完成后关闭消息框。用户不应关闭消息框。

谢谢你。

4

1 回答 1

0

您可以使用非模态对话框,或其中包含静态控件的简单弹出窗口。诀窍是使用 UpdateWindow/RedrawWindow 将其带入视图并强制窗口对其进行更新。

当您的程序长时间运行并且没有泵入任何消息时,可能会出现问题。这种情况下,窗口可能会被覆盖和未被覆盖,并且没有消息循环,它将不会再次绘制。

因此可以创建新窗口,将焦点设置在它上面并禁用主窗口。当冗长的操作开始时,您可以发送消息。

更简单的方法可能是将冗长的操作放在第二个线程中,并在主线程中显示带有消息循环的对话框,等待进程结束。

于 2013-10-13T14:54:35.217 回答