2012-08-03 196 views
1

我有一個MFC應用程序,其中有使用CPropertySheet創建的嚮導。我有幾個控件和'下一步'按鈕。當我按下「下一步」按鈕時,我將進行各種操作,那時,我想鎖定屏幕,以便用戶無法點擊或在屏幕上執行任何操作。請給我建議一些方法來處理這種情況?鎖定MFC屏幕

+0

你想鎖定你的應用程序屏幕或整個電腦屏幕? – Pankaj 2012-08-03 13:58:42

+0

@Pankaj我想鎖定特定的應用程序屏幕,以便用戶不會對其執行任何操作。 – 2012-08-06 05:19:25

回答

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); 
3

最好的辦法是調用一個對話框,使用DoModal'關閉'禁用,沒有按鈕來放棄對話框。在該對話框中,您實際上可以發出一些有關進度的有意義的消息,甚至可以顯示進度條。通過這種方式,您可以有效地阻止用戶對應用程序執行任何操作,同時也向他提供一些反饋,以便他知道正在完成一些工作。