1

我有一个 MFC 应用程序,其中有使用 CPropertySheet 创建的向导。我几乎没有控件和“下一步”按钮。当我按下“下一步”按钮时,我将进行各种操作,那时,我想锁定屏幕,以便用户无法点击或在屏幕上进行任何操作。请建议我一些方法来处理这种情况?

4

2 回答 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 回答