CListView中刷新的问题?
CListView里面装载了很多条记录,对于一条记录,最左边一列是图片,其余的列是关于这副图片的值。也就是跟ACD看图片一样的。现在的问题是,当我们按住ctrl键时,用鼠标可以选择多条记录,总是刷新。当选择一个新记录时,总是把选中的重第一条到现在选择的一条重来一遍,每选择一条都这样,客户总是觉得刷新频率过高,速度慢,但ACD就没有这种想象。请问如何解决这个问题。
我试图在这个View里面,当鼠标左键按下时,响应WM_LBUTTONDOWN消息,让clistctrl禁止重画,然后在WM_LBUTTONUP里面在重画。
void CListEditView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CListCtrl& lscView = GetListCtrl();
//AfxMessageBox("down");
lscView.SetRedraw(FALSE);
CListView::OnLButtonDown(nFlags, point);
}
void CListEditView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CListCtrl& lscView = GetListCtrl();
AfxMessageBox("up");
lscView.SetRedraw(TRUE);
lscView.Invalidate();
CListView::OnLButtonUp(nFlags, point);
}
可是不行,请问有什么好的方法吗?
各位救救我吧,上个星期就安排我在做了,我由于其他的事情,在做其他的项目,今天叫我拿出一个解决方案。我这时才开始搞。