15,979
社区成员
发帖
与我相关
我的任务
分享
void CFotaManagerDlg::OnBnClickedOk()
{
.....
//Display(_T("nasri....."),FALSE);
h_thread = (HANDLE)_beginthreadex(NULL,0,ThreadProc,(void*)this,0,&threadID);
WaitForSingleObject(h_thread,INFINITE);
CloseHandle(h_thread);
}
unsigned __stdcall ThreadProc(void* pArguments)
{
CString dis_msg;
CFotaManagerDlg * pFMDlg = (CFotaManagerDlg*)pArguments;
if(pFMDlg == NULL)
{
AfxMessageBox(_T("pFMDlg is NULL!"));
return 1;
}
pFMDlg->Display(_T("Enter ThreadProc..."),0);
}
void CFotaManagerDlg::Display(CString msgstr, int display_style)
{
SendMessage(WM_DISPLAY_MSG,(WPARAM)display_style,(LPARAM)&msgstr);
}
afx_msg LRESULT CFotaManagerDlg::OnDisplayMsg(WPARAM wParam, LPARAM lParam)
{
//do something
}
#define WM_DISPLAY_MSG WM_USER+1
BEGIN_MESSAGE_MAP(CFotaManagerDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDOK, &CFotaManagerDlg::OnBnClickedOk)
ON_MESSAGE(WM_DISPLAY_MSG, &CFotaManagerDlg::OnDisplayMsg)
END_MESSAGE_MAP()