我有一个MFC应用程序,其中我有使用CPropertySheet创建的向导。我有几个控件和'下一步'按钮。当我按下“下一步”按钮时,我将进行各种操作。那时,我想锁定屏幕,以便用户无法在屏幕上单击或执行任何操作。请建议我一些方法来处理这种情况?
答案 0 :(得分:3)
最好是使用DoModal调用一个对话框,禁用“关闭”,没有按钮放弃对话框。在该对话框中,您实际上可以提供有关进度的一些有意义的消息,甚至可以显示进度条。这样你就可以有效地阻止用户对应用程序做任何事情并给他一些反馈,这样他就知道正在做一些工作。
答案 1 :(得分:2)
您可以使用EnableWindow“锁定”一个窗口。这只是一个窗口,请注意,用户仍然可以与您没有调用该功能的其他窗口/应用程序进行交互。
HWND hWnd;
CWnd *pWnd;
// do stuff
// lock window
::EnableWindow(hWnd, FALSE);
// do stuff
//unlock window
::EnableWindow(hWnd, TRUE);
// lock window
pWnd->EnableWindow(FALSE);
// do stuff
// unlock window
pWnd->EnableWindow(TRUE);