我想在回调函数中引用对话框的变量应该怎么做?回调函数中我把m hWnd 变量传递进来 但是不能通过这个变量访问是为什么?

解决方案 »

  1.   

    m_hWnd 是 HWND类型的
    你传递之整个类的指针就可以了
      

  2.   

    我在其他地方进行了赋值
    m_pRecvParam->dlg=this;
    然后在接收数据的线程中这样调用
    CDialog* dlg=((RECVPARAM*)lpParameter)->dlg;
    dlg->m_addrFrom.Add(addrFrom);
    结果错误是
    (208) : error C2039: 'm_addrFrom' : is not a member of 'CDialog'
    error C2228: left of '.Add' must have class/struct/union type
      

  3.   

    ...CDialog是个基类 肯定没有 m_addrFrom
    假如你的dlg是 CMyDlg:CDialog 
    基于对话框的工程 lpParameter传的是 this
    这里应该这样 CMyDlg* dlg=((CMyDlg*)lpParameter);
                dlg->xxx