VC版DoEvents/处理事件

VB下有一个DoEvents方法(易语言中叫"处理事件"),可以让程序在执行操作的同时仍可以处理其他事件,用这个方法可以有效地解决画面无法刷新的问题。

MSDN说明:

  DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。

 

  DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。

 

 

 

VC版DoEvents

 

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

 

 

 

 

 

你可能感兴趣的:(C++/VC/MFC,技术文章)