zoukankan      html  css  js  c++  java
  • CListCtrl插入大数据量时避免闪烁的有效方法

    从CSDN好友博客上挖掘的知识,自己学习兼测试了下,笔记于下:
    LockWindowUpdate
    Disables drawing in the given window,锁定指定窗口,禁止它更新。
    Only one window can be locked at a time,只能有一个窗口处于锁定状态。
    SetRedraw
    An application calls SetRedraw to allow changes to be redrawn or to prevent changes from being redrawn.
    应用程序调用SetRedraw以允许重画变化或防止被重画。 

    第一步,先锁定窗口,不进行刷新

    m_List.LockWindowUpdate();

    第二步,设定列表不进行重画

    m_List.SetRedraw(FALSE);

    第三步,清空列表,删除历史数据

    m_List.DeleteAllItems();

    第四步,窗口解锁,允许刷新。否则系统的视图也会进行闪烁

    m_List.UnlockWindowUpdate();

    第五步,向列表中循环增加记录

    第六步,重画列表

    m_List.SetRedraw(TRUE);

    示例代码:

    对比代码:

    OnBnClickedButtonAdd为按钮函数,可以明显感觉到,后者在按钮按下去后

    有一段延时才能弹起,而前者正常。

  • 相关阅读:
    导航属性
    提笔忘字
    JavaScript学习总结(一)——闭包、对象、函数
    CSS3新特性(阴影、动画、渐变)
    图片轮播(也可以通过点击下标播放对应的图片)
    CSS3与页面布局学习总结——多种页面布局
    多种居中方法
    二级菜单
    无间隙轮播图片
    模块和程序处理
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693683.html
Copyright © 2011-2022 走看看