(MFC)子執行緒的資料如何傳遞給主執行緒中?

huangbangqing12發表於2018-08-02

主執行緒的PreTranslateMessage可以接受子執行緒的PostThreadMessage

在主執行緒中過載PreTranslateMessage函式,用於接受子執行緒的訊息:

BOOL CMFCApp::PreTranslateMessage(MSG* pMsg)
{
	if (pMsg->message == UM_PICKERELEMENT)
	{
		osg::Node *pNode = ((osg::Node *)pMsg->lParam);
		CEntitySelectTrriger::Instance()->TrrigerEntitySelEvent(pNode);
	}

	return CBCGPWinApp::PreTranslateMessage(pMsg);
}

在子執行緒中,用PostThreadMessage向主執行緒中傳送訊息:

AfxGetApp()->PostThreadMessage(UM_PICKERELEMENT, 0, (LPARAM)anno);

 

相關文章