vc 中的List Control控件怎么实现加载一行,显示一行
如题,加载List Control的数据一般都是通过一个循环,一行一行进行插入,但是只有循环结束后,所有的数据插入完成,控件才能显示出数据来……怎么实现插入一行,控件就显示一行??? list?control
[解决办法]
楼主都问题应该是计算的东西太多了,然后界面卡住了。因为你执行的东西是在界面线程里执行的。
可以新开一个线程执行你的内容,然后发消息给界面,让界面更新
[解决办法]
void do_events()
{
MSG msg;
while (::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) > 0) {
if (msg.message == WM_QUIT) {
break;
}
GetMessage(&msg, NULL, 0, 0);
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
然后在循环中插入一个 do_events();
[解决办法]
在循环里每插入一行,调用UpdateWindow()一次,问题就可以解决了
for (int nItem = 0; nItem < nCounts; nItem++)
{
插入行;
UpdateWindow();
}