本文共 1017 字,大约阅读时间需要 3 分钟。
1.UINT nMsgRegistered = ::RegisterWindowMessage(TEXT(“RegisterMsgName”));
2.afx_msg LRESULT OnMyRegisteredMsg(WPARAM, LPARAM); 3.LRESULT CTestDlg::OnMyRegisteredMsg(WPARAM wParam, LPARAM lParam) { ...} 1 2 1 2
4.
BEGIN_MESSAGE_MAP(CMyDlg, CDialog) ... ON_REGISTERED_MESSAGE(nMsgRegistered, &CTestDlg::OnMyRegisteredMsg)END_MESSAGE_MAP() 1 2 3 4 1 2 3 4
1.UINT nThrdMsgRegistered = ::RegisterWindowMessage(TEXT(“MyThrdMsg”));
2.afx_msg void OnMyRegisterdThrdMsg(WPARAM, LPARAM); 3.void CTestApp::OnMyRegisterdThrdMsg(WPARAM wParam, LPARAM lParam) { ...} 1 2 1 2
4.
BEGIN_MESSAGE_MAP(CTestApp, CWinAppEx) ... ON_REGISTERED_THREAD_MESSAGE(nThrdMsgRegistered, &CTestApp::OnMyRegisterdThrdMsg)END_MESSAGE_MAP() 1 2 3 4 1 2 3 4
那怎样在当前线程中触发注册的线程消息呢?有以下两种方法:
::PostMessage(NULL, nThrdMsgRegistered, 0, 0);::PostThreadMessage(::GetCurrentThreadId(), nThrdMsgRegistered, 0, 0); 1 2 1 2
转载地址:http://tqhki.baihongyu.com/