我有一个 MFC 应用程序,其中有使用 CPropertySheet 创建的向导。我几乎没有控件和“下一步”按钮。当我按下“下一步”按钮时,我将进行各种操作,那时,我想锁定屏幕,以便用户无法点击或在屏幕上进行任何操作。请建议我一些方法来处理这种情况?
问问题
892 次
2 回答
3
最好是使用禁用“关闭”且没有按钮来丢弃对话框的 DoModal 调用对话框。在该对话框中,您实际上可以发出一些有关进度的有意义的消息,甚至显示进度条。通过这种方式,您可以有效地阻止用户对应用程序进行任何操作,并给他一些反馈,以便他知道正在完成一些工作。
于 2012-08-08T13:05:25.250 回答
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);
于 2012-08-05T06:26:26.787 回答