【求助】ListCtrl插入数据变空白怎么回事

Uron 2013-09-02 03:22:38
MFC基于对话框的应用程序,代码如下:
m_lstCheck.DeleteAllItems();
CString strNo;
for (int i = 0; i < nSize; i++)
{
strNo.Format("%d", i);
m_lstCheck.InsertItem(i, strNo);
m_lstCheck.SetItemText(i, 1, "1");
m_lstCheck.SetItemText(i, 2, "2");
m_lstCheck.SetItemText(i, 3, "3");
m_lstCheck.SetItemText(i, 4, "4");
Sleep(500);
UpdateWindow();
}
情况说明:运行程序能够看到插入的结果,但如果ListCtrl显示过程中拖动对话框窗口,那么不是0.5秒显示一条数据,而是画面卡住或者ListCtrl变白色,然后过一段时间后所有数据一次显示!求大牛指教!困惑了好久。
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2013-09-03
  • 打赏
  • 举报
回复
引用 4 楼 cs290473786 的回复:
主界面线程为什么不能用sleep啊?
阻塞了消息循环,使之不能及时处理
Uron 2013-09-03
  • 打赏
  • 举报
回复
主界面线程为什么不能用sleep啊?
  • 打赏
  • 举报
回复
楼上正解。 要用定时器。 主界面sleep是停止响应。
modyaj 2013-09-02
  • 打赏
  • 举报
回复
引用 1 楼 fishion 的回复:
不要在主窗口线程中用sleep,你可以用定时器来测试
界面会卡死掉
fishion 2013-09-02
  • 打赏
  • 举报
回复
不要在主窗口线程中用sleep,你可以用定时器来测试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧