void CCaseSchedule::InvalidateProgressCtrls()
{
CListCtrl &m_pList =(CListCtrl &)GetListCtrl();
int nItem = CurentCaseNum;
int nSubItem = 2;
if (2 != nSubItem)
return; CRect rcSubItem;
m_pList.GetSubItemRect(nItem, nSubItem, LVIR_BOUNDS, rcSubItem);
int n = m_pList.GetItemCount();
for (int i=0;i<n;i++)
{
if ((pCtrl !=NULL) && (i == nItem))
{
m_pList.SetItemData(nItem,(DWORD)pCtrl);
pCtrl->MoveWindow(rcSubItem);
pCtrl->ShowWindow(SW_SHOW);
}
} Invalidate();
}
我在列表的第三列创建了进度条,在进度条位置满后再销毁,这样看到的进度条只有一行有在滚轮作用下需要重新刷新进度条,我写的这个函数作用不大,希望大家给点意见啊
int nSubItem = 2;
if (2 != nSubItem)
return;
开始的时候没直接给nSubItem 赋值,直接赋成2后忘记注释了