将对话框的指针传给线程函数,就是那个LPVOID参数。
不过一般不提倡这样做,建议使用CWinThread类。
要做也可以,我这样做过,还没出现过问题

解决方案 »

  1.   

    发条消息给对话框,对话框处理消息时改变Edit的内容。不要在一个线程中操作非本线程创建的用户对象。对于MFC封装用户对象的C++类更是不能如此。
      

  2.   

    TO SecretGarden(天堂鸟): 您的办法我试过了,成功了。但还有问题想请教
    为什么不提倡这样做? 好象没出现什么问题呀,很方便。TO azuo_lee() :您的方法我做了一下,也成功了,但我想,为了修改一个edit的内容。
    我就定义一个自定义消息,是不是太麻烦了?要是我一个dialog里面有6,7十个edit,难道我还自定义6,7十个自定义消息?肯定 有简单的方法解决,请教您!谢谢你们的回答,进一步期待你们的回答!
      

  3.   

    SecretGarden(天堂鸟)的说法是正确的,最好不要传递VC++的窗口对象指针给另外一个
    线程,原因在于这些对象的真正的继承关系是不会被传递的。这里没有错的原因在于这里
    的用法太简单了,仅仅有窗口指针就够了,而窗口指针总是可用的。关于这个问题,类似
    的还有Subclass一个控件比CMyButton *ptbn = (CMyButton *) GetDlgItem( XXX )好。
    比如:您有一个CPropertySheet的派生类(CMySheet)的成员m_sheet,它有三个属性页(m_Page1,m_Page2,m_Page3),如果您把&m_sheet传送给另外的一个线程,它还会有它原
    来的那三个m_PageX对象吗?它的RuntimeClass是CPropertySheet,而不是CMySheet.azuo_lee() 的说法也对,用消息最好,您不用定义那么多消息,一个就可以了,消息中不
    是还有wParam和lParam这两个参数吗?用起来呀!