在一个自己创建的线程中,创建了有一个无模式对话框,我想自己测试线程的一些实时信息在这个对话框中实时显示怎么做呢?

解决方案 »

  1.   

    在模式对话框中添加消息处理函数,如:
    #define WM_TEST 4001afx_msg void OnTest(WPARAM wParam,LPARAM lParam);ON_MESSAGE(WM_TEST,OnTest)void CTestDlg::OnTest(WPARAM wParam,LPARAM lParam);
    {
       m_edit.SetWindowText("JJJ");
    }在需要显示时:
    WPARAM wParam;
    LPARAM lParam;//为wParam,lParam附值pDlg->SetMessage(WM_TEST,wParam,lParam);
      

  2.   

    CMyThread继承自CWinThread类,在Run()中::
    int CmyThread::Run()
    {
    if(m_pDlg->GetSafeHwnd() == 0)  //m_pDlg is a modelless dialog pointer
         m_pDlg->Create();
    while(1)
    {
                   
                   

    }
             m_pDlg->DestroyWindwo();
    }为什么程序一启动此线程,程序就没有反映了把
    if(m_pDlg->GetSafeHwnd() == 0)
         m_pDlg->Create();
    去掉就正常了,为什么??
      

  3.   

    if(m_pDlg->GetSafeHwnd() == 0)  //m_pDlg is a modelless dialog pointer你这个注释对吗?
    对话框都还没创建,能检测GetSafeHwnd吗?
    若此时m_pDlg为对话框指针变量,它的值为零
      

  4.   

    m_pDlg在构造函数中已经创建了