我现有一个CListCtrl,程序运行时,不停的往这个CListCtrl里插入新记录,同时又不停的删掉一些记录,插入和删除记录都是程序自动实现的,不是手动实现的。如果插入和删除特别频繁时,这样造成表格里的记录不停的跳动刷屏,如果要用鼠标选定某条记录非常困难。
哪位大侠有没有高招,可以实现鼠标右键使得CListCtrl界面上停止刷屏,同时又不影响插入和删除操作,鼠标左键后又恢复刷屏。也就是说,我鼠标右键锁定屏幕,之后在右键菜单里执行某项操作,操作完后再解除锁定,在锁定期间产生的新纪录解除锁定后可以显示出来,锁定期间删除的记录不再显示出来。

解决方案 »

  1.   

    在SetFocus的时候。
    SetRedraw(true/false)
      

  2.   

    ....既然刷屏幕就是闪得很厉害拉?而且是程序自己实现的加减,又不需要手工加减某项,你可以在开始那个函数时,直接把CLISTCTRL隐藏了就免得刷屏幕了./呵呵~在函数结束加回显示..
      

  3.   

    你把滚动条拉到最上,,还会不停闪动吧?..
    加个
    list.EnsureVissable(0);看看
      

  4.   

    问题搞定。
    BOOL LockWindowUpdate();  //锁住屏幕
    void UnlockWindowUpdate();//解除锁定散分!