急切问一个问题listview的问题,希望高手看看想想办法!
我在定时器中有一个这样的一个函数,用来实现每秒遍历一边阻塞队列,然后把阻塞队列里的每一个阻塞时间-1显示在listview控件上面,我这个空间分为两栏,一个是进程名称,一个是阻塞时间。
{
if(!EmptyQueue(zuse))
{
zusenum=NumQueue(zuse);
for(j=0;j<zusenum;j++)
{
zusePCB=OutQueue(zuse);
if(zusePCB->zuseTime!=0)
{
SendMessage(hList,LVM_DELETEITEM,0,0);
sprintf(zusetmp,"%d",zusePCB->zuseTime);
LV_ITEM item;
item.mask=LVIF_TEXT;
item.iItem=0;
item.iSubItem=0;
item.pszText=zusePCB->name;
SendMessage(hList,LVM_INSERTITEM,(WPARAM)0,(WPARAM)&item);
item.iSubItem=1;
item.pszText=zusetmp;//其实每一秒需要修改的是这里,所以我想每次只是更改第二栏的内容而不是重新插入新的item项,因为我有多个阻塞进程,需要同时在listview中显示时间的倒计时
SendMessage(hList,LVM_SETITEM,(WPARAM)0,(WPARAM)&item);//这句是重新建立第一列和第二列不行
zusePCB->zuseTime-=1;
InQueue(zuse,zusePCB);
}
else
{
//唤醒进程
}
}
}
}
可能说的不清楚,我看大家不明白我在说说看吧。