MFC编辑框数据实时更新问题

在VC里,很多情况下需要更新控件,也就是调用UpdateData(FALSE);
但是如果是在循环中调用该函数,会导致没有时间来刷新界面,消息得不到相应,从外部看来,似乎整个循环只执行了一次UpdateData(FALSE);如下面的例子
for(i = 0;i < m;i++)
{
m_yiducishu = i+1;
UpdateData(FALSE);
}

这种写法会导致界面没有时间更新。
根据牛人的指点,在代码上添加一点东西,就可以了.如下:

for(i = 0;i < m;i++)
{
m_yiducishu = i+1;
UpdateData(FALSE);
///////////////////////////
MSG msg;
while( PeekMessage( &msg, 0, 0, 0, PM_REMOVE ) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
///////////////////////////////
}
自己推动消息循环就ok了。

posted on 2017-07-22 16:25  Pkj  阅读(3993)  评论(0编辑  收藏  举报

导航