在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了。

相关文章:

  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2021-07-07
  • 2021-10-19
相关资源
相似解决方案