軟體正在執行時,介面上顯示打圈圈,等待任務執行完成
阿新 • • 發佈:2018-11-21
1.BeginWaitCursor()是CCmdTarget類的函式
函式原型:void BeginWaitCursor();
功能簡介:本函式用於顯示沙漏游標。呼叫本函式顯示沙漏游標,告訴使用者系統正在執行,繁忙。
注意:在不是處理單個訊息時,BeginWaitCursor()可能不像其它函式那樣有效,例如:OnSetCursor()的處理也能改變游標形狀。
2.函式EndWaitCursor可以恢復此前的游標。
---------------------
作者:行者無疆帆
來源:CSDN
原文:https://blog.csdn.net/yf0811240333/article/details/38760003
版權宣告:本文為博主原創文章,轉載請附上博文連結!
SetCapture():
該函式在屬於當前執行緒的指定窗口裡設定滑鼠捕獲。一旦視窗捕獲了滑鼠,所有滑鼠輸入都針對該視窗,無論游標是否在視窗的邊界內。同一時刻只能有一個視窗捕獲滑鼠。如果滑鼠游標在另一個執行緒建立的視窗上,只有當滑鼠鍵按下時系統才將滑鼠輸入指向指定的視窗。
當你不在需要繼續獲得滑鼠訊息就要應該呼叫ReleaseCapture()釋放掉,否則別的執行緒想呼叫就會失敗。記住:SetCapture()和ReleaseCapture()必須成對呈現。
BeginWaitCursor(); SetCapture(); while(!m_ImgShow.m_ltCurCorImg.empty()&&!m_ImgShow.m_bganyu) { num++; CLog::GetInstance()->WriteLog(_T("正在儲存資料,num:%d"),num); Sleep(50); } if (m_vImgBig.size()!=0) { CLog::GetInstance()->WriteLog(_T("儲存多圖干預資料m_vImgBig")); m_correctMultiImgs.SaveImgVectorLayers(m_vImgBig); } if (m_vImgBig.size()!=0) { CLog::GetInstance()->WriteLog(_T("儲存多圖干預資料m_vImgSmall")); m_correctMultiImgs.SaveImgVectorLayers(m_vImgSmall); } EndWaitCursor(); ReleaseCapture();