我在CxxxDlg::OnOK中起了一个工作线程sendMsg,sendMsg中间要调用CxxxDlg的一个成员变量kk。kk是个控件的对象,怎么调用啊?有什么其他办法?不知道说清楚了没有。我是新手,多谢!

解决方案 »

  1.   

    定义一个消息比如
    WM_FROM_WORKTHREAD
    在CxxxDlg添加这个消息的处理函数调用kk
    从工作线程中给dlg发WM_FROM_WORKTHREAD
      

  2.   

    创建线程的时候传kk的地址作为参数,可以直接调用kk的成员,不过要用同步对象,不然内部数据很可能不一致。
      

  3.   

    多谢,消息是应该定义在CxxxDlg中啊,还是应该定义在Cxxx.cpp中。谢谢
      

  4.   

    消息定义在何处无关紧要,只是一个常量而已,
    不可以可以直接调用kk的成员,MFC的对象不能简单地跨线程传递
      

  5.   

    我在使用SendMessage(dlg,WM_FROM_WORKTHREAD,order,0)
    那怎么会提示dlg没有定义呢?
      

  6.   

    传参的问题又来了,怎么UpdateData(FALSE)呢?