防止CListCtrl闪烁

1.创建控件时,增加 LVS_EX_DOUBLEBUFFER

    DWORD dwExStyle;
    dwExStyle = m_lsFlowdata.GetExtendedStyle();
    dwExStyle = (dwExStyle | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER);
    m_lsFlowdata.SetExtendedStyle(dwExStyle);

2.插入数据之前,调用SetRedraw(FALSE);插入之后调用SetRedraw(TRUE);

        m_lsFlowdata.SetRedraw(FALSE);
        for (iRow=0; iRow<m_uCtrlRows; ++iRow)
        {
            for (iCol=0; iCol<m_uCtrlCols; ++iCol)
            {
                m_lsFlowdata.SetItemText(iRow, iCol, _T("一二三"));
            }
        }
        m_lsFlowdata.SetRedraw(TRUE);

完全消除控件闪烁

posted @ 2017-02-18 09:58  菠萝布丁  阅读(484)  评论(0编辑  收藏  举报