线程里如何发送消息?为什么小弟我发的消息没有反应?

线程里怎么发送消息?为什么我发的消息没有反应???
线程里怎么发送消息?为什么我发的消息没有反应???
(分全给了实在没有分给了)。
//.h  
#define   WM_MYTHREADMSG   WM_USER+100  

static   UINT   MFC_MyThread(LPVOID   lpParameter);

afx_msg   OnMyThreadMsg(WPARAM   wParam,LPARAM   lParam);


//.cpp
ON_MESSAGE(WM_MYTHREADMSG,   OnMyThreadMsg)

void   CAcmJKDlg::OnBnt_MFC_CreateThr()  
{
HANDLE   handle;
CWnd   *   pWnd=GetDlgItem(IDC_EDIT2);
handle   =   AfxBeginThread(MFC_MyThread,this);  
Sleep(1000);

}

UINT   CAcmJKDlg::MFC_MyThread(LPVOID   lpParameter)
{
    while(1)
    {              
        char   str[256]={0};
        printf( "123456%s ",str);
        CAcmJKDlg*   pdlg=(CAcmJKDlg*)lpParameter;
        pdlg-> GetDlgItem(IDC_EDIT2)-> SendMessage(WM_MYTHREADMSG,(UINT)str,0);  

      }        
      return   0;
}  

CAcmJKDlg::OnMyThreadMsg(WPARAM   wParam,LPARAM   lParam)
{
                  AfxMessageBox( "收到消息 ");
//char   *p   =   (char*)wParam;  
//printf( "123456789%s ",m_strThread);
//UpdateData(false);

}

------解决方案--------------------
pdlg-> GetDlgItem(IDC_EDIT2)-> SendMessage(WM_MYTHREADMSG,(UINT)str,0); 改为:pdlg-> SendMessage(WM_MYTHREADMSG,(UINT)str,0);
------解决方案--------------------
如johnxt所说,
pdlg-> GetDlgItem(IDC_EDIT2)-> SendMessage(WM_MYTHREADMSG,(UINT)str,0);
和CAcmJKDlg::OnMyThreadMsg(WPARAM wParam,LPARAM lParam)
是不匹配的, 建议使用
pdlg-> SendMessage(WM_MYTHREADMSG,(UINT)str,0);
同时在 pdlg 中重新影射一个 WM_MYTHREADMSG 的处理函数即可.

如果要使用线程消息, 则要先确定处理该消息的线程, 先找到该线程的 ID, 然后调用 PostThreadMeesage 函数发送消息, 而在接收消息的线程中也必须要实现消息循环, 由于 PostThreadMessage 不是给窗口发送消息, 在接受消息的时候也就不能使用 MFC 中的窗口消息影射, 只能使用 Window API 函数 GetMessage 或者 PeekMessage 进行接收, 接收消息时窗口句柄必须设置为 NULL, 否则该消息接受不到, 接收到消息时可根据 MSG 结构中的 hwnd 成员为 NULL的条件进行过滤, 因为线程消息的 hwnd 成员必然为空.