1.在c++ builder中,比如按钮程序中对界面控件赋值,接着有比较耗时的计算、数据库查询、图片加载等,又不想用多线程,我们可以用Application->ProcessMessages();
它的作用是界面及时刷新,响应息队列的其余消息。代码如下:
void __fastcall TfrmMain::Btn1_Click(TObject *Sender)
{ //...
//以上是对界面控件赋值的语句,
Application->ProcessMessages();
//以下是需要密集计算的部分
..
}
2.C#的类似语句:
Application.DoEvents()
3.QT的类似语句:
QCoreApplication :: processEvents();
4.vc的可用下面函数:
void DoEvents()
{MSG msg;
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{TranslateMessage(&msg);
DispatchMessage(&msg);
}
}