现在有一个程序,上面的listctrl控件平均每2秒要刷屏显示数据库的一些记录,因为数据过多,listctrl右端就会有垂直滚动条,但过一段时间后,这个滚动条变灰不见了。请问高手,这是为什么,怎么解决?

解决方案 »

  1.   


    你说的,我听不太明白,不过你可以试试下面 的代码1在CMyDlg中添加成员  CListCtrl   m_List;
    2
    BOOL CMyi5Dlg::OnInitDialog()
    {        1.RECT rcRect;
    2.CWnd* pParent=GetDlgItem(IDC_STATIC_PARENT);
    3.pParent->GetWindowRect (&rcRect);
    4.pParent->ScreenToClient(&rcRect);
    5.m_List.Create (WS_VISIBLE|WS_BORDER,rcRect,this, 50);
    6.m_List.SetParent(pParent);
    }  // 以上代码去除CListCtrl闪烁问题
      

  2.   

    m_List.Create (WS_VISIBLE|WS_CHILD|WS_BORDER\
    |LVS_SINGLESEL|LVS_REPORT|LVS_ALIGNLEFT,\
    rcRect, pParent, IDC_STATIC_PARENT); 
    m_List.SetParent(pParent);然后我开启线程,先m_list.deleteAllitems删除所有行,然后插入100行的数据,插满后listctrl会出现滚动条。每隔2s重复这样的动作,大概1000多次后,这个滚动条就变灰不见了。想确定是那边的问题?
      

  3.   

    不是的,可能是DeleteAllItems造成的,已经改用其它的方法来避免了。