1 // 自定义消息
 2 #define        MY_THREAD_MSG        WM_USER+1000
 3 
 4 ////////////////////////////////////////////////////////////////////////////
 5 //
 6 // PreTranslateMessage()如果要响应【自定义消息】必须用::PostMessage()发送自定义消息 
 7 // PreTranslateMessage()不响应::SendMessage()发送的【自定义消息】
10 BOOL CMyThreadDlg::PreTranslateMessage(MSG* pMsg)
11 {
12     switch(pMsg->message)
13     {
14     case MY_THREAD_MSG:
15         AfxMessageBox(_T("测试线程消息"));
16         break;
17     case WM_KEYDOWN:
18         if (VK_RETURN == pMsg->wParam || VK_ESCAPE == pMsg->wParam)
19         {
20             return TRUE;
21         }
22         break;
23     }
24 
25     return CDialogEx::PreTranslateMessage(pMsg);
26 }
27 
28 void CMyThreadDlg::OnBnClickedButton1()
29 {
30     // 发送自定义消息
31     ::PostMessage(AfxGetMainWnd()->m_hWnd, MY_THREAD_MSG, 0, 0);
32 }