问题是这样的:有一个对话框的工程,对话框中有一个文本框A.另开了一个线程要处理一些东西,处理的结果我要显示在A中,就这么简单.请问我在线程中怎样调用A或者直接调用对话框?

解决方案 »

  1.   

    发个消息也可以,句柄通过pParam传输。
    或者用AfxGetMainWnd来得到。
      

  2.   

    其实那个不是线程,是一个定义为全局的回调函数,没办法传指针的.
    dirdirdir3(风)发消息怎么发?在函数是::SendMessage,通过一个全局变量保存,再在回调函数中取那个全局变量吗?还是怎样的?
    不过这个问题我已经用AfxGetApp()解决了.
    看看还有什么好方法,一会才结贴.
      

  3.   

    能得到Edit的handle就行,用SendMessage
      

  4.   

    void CEnCodePrgDlg::OnOK() 
    {
    CreateThread(NULL, 0, WorkThrd, 
    this, 0, &threadID);
    }
    DWORD WINAPI CEnCodePrgDlg::WorkThrd(void * pParam)
    {
    CEnCodePrgDlg* pDlg = (CEnCodePrgDlg*)pParam;
    //getfilename
    pDlg->EncrptLoop();
    return 0;

    }void CEnCodePrgDlg::EncrptLoop()
    {
       ......
    }
    以上是在对话框中开启加密线程,线程调用是对话框的成员函数,直接可以操作对话框和其成员
      

  5.   

    声明部分:
    void EncrptLoop();
    static DWORD WINAPI WorkThrd(void * pParam);
    BOOL ecfile(LPCTSTR fpath,LPCTSTR objfpath);