偶开了个线程,但是要在线程中操作对话框中的控件,应该怎么做?

解决方案 »

  1.   

    你可以将对话框的指针传给线程,这样它的任何东东都可以操作。:)

    定义一全局函数或类的一个静态函数: UINT WorkThread(PVOID P);
    然后启动线程,并传入对话框的this指针:
    ::AfxBeginThread(WorkThread, this);UINT WorkThread(PVOID P)
    {
         //将指针转化为对话框指针
         CYourDlg *pDlg=(CYourDlg *)P;     //这下你什么都可以做了
         pDlg->SendMessage(...);
         pDlg->m_Data=...;
         pDlg->GetDlgItem(...);
         ...
    }