CWaitCursor 類別
提供了一條線的方式顯示等待游標,通常會顯示為沙漏,反之,因為您正在執行耗時作業。
class CWaitCursor
成員
公用建構函式
名稱 |
描述 |
---|---|
CWaitCursor 建構物件並顯示等待游標。 |
公用方法
名稱 |
描述 |
---|---|
在變更之後,還原等待游標它。 |
備註
CWaitCursor 不具有基底類別。
程式設計實務的好視窗需要顯示等待游標,每當您執行花不少時間的作業。
若要顯示等待游標,請在執行耗時作業的程式碼之前定義 CWaitCursor 變數。 物件的建構函式會自動使等待游標隨即顯示。
當物件超出範圍 ( CWaitCursor 物件宣告) 的區塊結尾,其解構函式會將游標設定為先前游標。 換句話說,物件會自動執行必要的清除。
注意事項 |
---|
由於其建構函式和解構函式 (Destructor) 如何運作, CWaitCursor 物件永遠宣告為區域變數 (但不是宣告為全域變數也不會配置使用 new。 |
如果您執行可能會使游標會變更,例如顯示訊息方塊或 對話方塊中的作業,請呼叫成員函式 還原 還原等待游標。 即使等待游標目前顯示,可以呼叫 還原 。
可能是另一種顯示等待游標會使用 CCmdTarget::BeginWaitCursor、 CCmdTarget::EndWaitCursor和 CCmdTarget::RestoreWaitCursor的組合。 不過, CWaitCursor 更容易使用,因為您不必設定游標至先前游標,在完成長時間作業時。
注意事項 |
---|
使用 CWinApp::DoWaitCursor 虛擬函式, MFC 會設定並還原游標。您可以覆寫此函式提供自訂行為。 |
繼承階層架構
CWaitCursor
需求
**標頭檔:**afxwin.h
範例
BOOL SomeLengthyProcess()
{
CWaitCursor wait;
//Do the lengthy processing.
Sleep(1000);
AfxMessageBox(_T("Some result")); //This changes the cursor.
wait.Restore(); //Restore the Wait cursor.
//Continue Processing.
Sleep(1000);
//The destructor changes the cursor back to Regular cursor.
return TRUE;
}