建立了一个listview 的sdi 工程 ,view 中查询数据库 装载了大量数据。
工程中还有一个Dialog ,中有listctrl控件,其数据内容与ListView中的Listctrl一样。
在弹出Dialog的时候,我不想重新查询数据库(速度太慢),加载List。
有没有一种办法可以直接 拷贝 ListView中ListCtrl的数据到Dialog中的ListCtrl。
或方法 可以一次查询就在所有用到数据的地方使用。

解决方案 »

  1.   

    即 listctrl1 = Listctrl2
      

  2.   

    当然可以,你可以从View中的ListCtrl逐条拷贝数据到Dialog中的ListCtrl上么。
      

  3.   

    没有 类似 memcopy 之类的 方法吗?
    逐条拷贝 太慢了。
      

  4.   

    如果数据量大要快,可以显示的时候才查自己存的数据大概做法选中list的owner data属性,
    然后响应LVN_GETDISPINFO LVN_ODFINDITEM等等,比较复杂的说,可以google一下看看,参考一下……
      

  5.   

    除非你知道listview控件的内部结构
    其实也不慢SetRedraw(FALSE);
    拷贝
    SetRedraw(TRUE);Invalidate..
      

  6.   

    我也想用 VirsulList 可是我要在ListCtrl中加上一个遍历查询某一项。
    除非我改SQL语句,可是那块不归我些晕。
    我试试拷贝吧。
      

  7.   

    现在 我强行把Listview 中的ListCtrl的指针
    赋予Dialog中的 ListCtrl 
    不报错 赋值也成功了
    可是为什么 不显示呀
      

  8.   

    同一类生成的对象 可以 赋值(指针、对象)
    可是赋值后的CListCtrl 无法显示。
    应该是 CListCtrl的 加载Item 显示 Item 的问题。
    -_-! 明天下午结贴。