首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问一个关于list control显示 的有关问题,多谢

2013-11-16 
请教一个关于list control显示 的问题,谢谢我在一个for循环里给一个list control添加数据,这个for循环执行

请教一个关于list control显示 的问题,谢谢
我在一个for循环里给一个list control添加数据,这个for循环执行时间比较长,每次都得等for循环完了以后list control才显示完全的内容,我想要list control每加一条就显示出来,请问有什么办法,谢谢大家了


void CTESTDlg::InsertListInfo(CString Ip, CString  MacAddress, CString HostName)
{
//获取当前的记录条数.
int nIndex = m_list.GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //行数
lvItem.iSubItem = 0;
lvItem.pszText =  (LPSTR)(LPCTSTR)Ip;
//在最后一行插入记录值.
m_list.InsertItem(&lvItem);
//设置该行的其他列的值.
m_list.SetItemText(nIndex, 1, MacAddress);

}

[解决办法]
重新创建一个线程,将数据的插入过程放在线程中进行。
[解决办法]
这个是for循环阻塞UI线程了,你可以创建个线程来解析,每解析完毕一条postmessage给主线程,由主线程添加。
[解决办法]
线程中发送消息给UI线程来控制ListCtrl添加Item

热点排行