在子线程的 中,给主线程发消息 如何实现?

在子线程的 中,给主线程发消息 怎么实现??

我的程序是个一个DIALOG   对话框程序,在对话框上的A按钮中有:
CRecThread*   pRecThread=(CRecThread*)AfxBeginThread(RUNTIME_CLASS(CRecThread),THREAD_PRIORITY_HIGHEST,0,CREATE_SUSPENDED,NULL);

pRecThread-> ResumeThread();

子线程类如下
class   CRecThread   :   public   CWinThread
{
DECLARE_DYNCREATE(CRecThread)
public:
CRecThread(void);
~CRecThread(void);
        protected:
DECLARE_MESSAGE_MAP()
public:
virtual   int   ExitInstance();
virtual   BOOL   InitInstance();
virtual   int   Run();
};



int   CRecThread::Run()
{
    。。。。。。。。。。。
   
    while(true)
  {

    ................

    //CODE   A
    ........................

  }


    。。。。。。。。。。。。。。。。
      RETURN   0
}


在CODE   A处   给主线程序中发消息,
用   类似::PostMessage((HWND)(GetMainWnd()-> GetSafeHwnd()),WM_DISPLAY,nTmpt,NULL);

可以实现吗,   给我具体讲一下。。。(WM_DISPLAY自定义消息)

我的开发环境是VC++2003。。。我在VC6里的例子好用,可是在VC++2003里面不好用,请问这是为什么,我该注意那些细节呢??

谢谢!!




------解决方案--------------------
在MainFram类中用ON_MESSAGE宏映射你的自定义消息就可以了
------解决方案--------------------
GetMainWnd()-> GetSafeHwnd())肯定不行。
MFC的窗口类是通过TLS的map来维护HWND与CWnd*之间的关系的。
因此,你应该将目标窗口的HWND直接传递给工作线程。
------解决方案--------------------
应该是VC2003和VC6的差异造成的,
嗨!
MFC被微软狠心地抛弃了