MFC 普通函数发送消息到线程的步骤和示例
在 MFC 中,可以通过以下步骤在普通函数中给线程发送消息:
-
使用 'PostThreadMessage' 函数向线程发送自定义消息。该函数的参数包括线程ID、消息类型等。
-
在线程的消息循环中处理自定义消息。可以通过重写线程的 'PreTranslateMessage' 函数,在函数中判断并处理自定义消息。
下面是一个示例:
// 在普通函数中发送消息
void SendThreadMessage(DWORD dwThreadID, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
::PostThreadMessage(dwThreadID, uMsg, wParam, lParam);
}
// 线程消息循环中处理消息
BOOL CMyThread::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_MY_CUSTOM_MESSAGE)
{
// 处理自定义消息
// ...
return TRUE; // 返回TRUE表示消息已处理
}
return CWinThread::PreTranslateMessage(pMsg);
}
请注意,'WM_MY_CUSTOM_MESSAGE' 是自定义的消息类型,可以根据具体需求进行定义。
原文地址: https://www.cveoy.top/t/topic/qECR 著作权归作者所有。请勿转载和采集!