VC版DoEvents/處理事件

鄧學彬發表於2012-12-10

VB下有一個DoEvents方法(易語言中叫"處理事件"),可以讓程式在執行操作的同時仍可以處理其他事件,用這個方法可以有效地解決畫面無法重新整理的問題。

MSDN說明:

  DoEvents 會將控制權傳給作業系統。當作業系統處理完佇列中的事件,並且在 SendKeys 佇列中的所有鍵也都已送出之後,返回控制權。

  DoEvents 對於簡化諸如允許使用者取消一個已啟動的過程 — 例如搜尋一個檔案 — 特別有用。對於長時間過程,放棄控制權最好使用定時器或通過委派任務給 ActiveX EXE 部件來完成。以後,任務還是完全獨立於應用程式,多工及時間片由作業系統來處理。

VC版DoEvents

void DoEvents()
{
	MSG msg;
	while(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
	{
		DispatchMessage(&msg);
		TranslateMessage(&msg);
	} 
}


相關文章