程序在循环的时候没有进行别的外理,使Windows窗口没有响映,这种现像很正常。
如果不想这样,可以加一个进度条进行处理。
VB中的一个DoEvent函数,就是在循环时处理窗口事件,VC中也有,请看
使用这样的函数:
BOOL CheckMessageQueue()
{
MSG msg;
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){
if(msg.message==WM_QUIT)
return FALSE;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return TRUE;
}
该函数可以实现DoEvents的效果。但有一点不同,如果该函数返回FALSE,说明用户按下了关闭按钮。