有一个列表控件,因为要常更新,而且数据又多,想在另一个线程中更新,请问有没有办法?

解决方案 »

  1.   

    CListCtrl* pList;(全局指针,这样你线程里可以用它了。)
    pList = &m_list;(让它等于你的类里面的listctrl控件。)
    线程里就用plist里增加删除了。
      

  2.   

    在一个线程里弄一个循环体while(GetMessage()),当有操作时就给线程postthreadmessage
      

  3.   

    fiveofhearts
    这样好样不行,我用EDIT试了一下,如下错误
    thDlg.obj : error LNK2005: "class CEdit * pse" (?pse@@3PAVCEdit@@A) already defined in th.objDebug/th.exe : fatal error LNK1169: one or more multiply defined symbols found
      

  4.   

    你在th.c这样CListCtrl* pList;,然后再thdlg.c又CListCtrl* pList;?不行的,只能在一个地方定义,然后另一地方加上extern表示后面的变量在其它地方定义, extern CListCtrl* pList;。这样就行了
      

  5.   

    我在thdlg.h中定义的,在thdlg.cpp中plist=&m_list;
      

  6.   

    一般变量不要在头文件声明啊。比如2个cpp文件都include这个头文件就会出现重复定义的错误了。
    在cpp里声明变量吧