SendMessage LstView.hwnd, WM_SETREDRAW, false, 0

解决方案 »

  1.   

    先设定listview的visiable=false,更新数据完成以后在显示出来。
      

  2.   

    取消重画后再加载
    SendMessage LstView.hwnd, WM_SETREDRAW, false, 0
    Add SomeThing
    恢复重画
    SendMessage LstView.hwnd, WM_SETREDRAW, True,0
      

  3.   

    调用with
    举个例子'1、For i = 1 To 5000
        TreeView1.Nodes.Add , , , "Node " & i
    Next'2、
    Dim nods As MSComctlLib.Nodes
    Set nods = TreeView1.Nodes
        
    For i = 1 To 5000
        nods.Add , , , "Node " & i
    Next
    '3、
    With TreeView1.Nodes
        For i = 1 To 5000
            .Add , , , "Node " & i
        Next
    End With结果是:
        方法1、2要比常规方法要快的多,而方法3又要比方法1、2要快40%。