我想你应该将线程函数声明成为你的使用该ListCtrl类的友员函数, 并且传递m_list给线程函数, 或者直接传递类实例指针. 否则建议还是老老实实使用WM_TIME算了.

解决方案 »

  1.   

    你的问题一定是出在线程函数上,一般情况下,我们是用AfxBeginThread来创建一个线程,线程的控制函数为如下格式
        UINT MyControllingFunction( LPVOID pParam );
    为一个全局函数。实际上你所要解决的就是如何让你的窗口类中的成员变量在你的全局函数中亦可见。最简单的做法就是,在创建线程时,把窗口的实例指针带入pParam,在函数中做类型强制转换后,就可以取得窗口的指针,从而引用成员变量。
      

  2.   

    再举例说明:class CMyDlg : public CDialog
    {
    // Construction
    public:
           // ......
    constructor// Dialog Data
    //{{AFX_DATA(CTcpDlg)
    CListCtrl m_list;
    ....
    };线程定义如下: 
    UINT TestThread(LPVOID pParam)
    {
        CMyDlg * pDlg=(CMyDlg *)pParam;
        ...
        pDlg->m_list.InsertItem("The First Item!");
        ...
    }调用时:
    CWinThread* pThread=AfxBeginThread(TestThread,(void*)this,THREAD_PRIORITY_NORMAL);
      

  3.   

    谢谢lxjnet ,lant ,rick1126 三位的帮助。