怎么在CreateThread创建的线程中显示一个对话框呢
如何在CreateThread创建的线程中显示一个对话框呢?
CDLg1 dlg ;
DWORD WINAPI RecvThreadProc(LPVOID lpParameter)
{
dlg-> DoModal();
AfxMessageBox( "OK ");
return true;
}
void main()
{
HANDLE han = ::CreateThread(NULL, 0, RecvThreadProc, NULL, NULL, NULL);
CloseHandle(han);
}
当执行dlg-> DoModal();时就出错,而AfxMessageBox( "OK ");则不会 为什么呢????????????
------解决方案--------------------
用DialogBox()
------解决方案--------------------
你的dlg是指针吗?另外为什么不把dlg变量声明在线程函数内部?
------解决方案--------------------
只要 CDLg1 没问题
dlg.DoMode()就该没问题.
//--------------------------
最好把 CDLg1 dlg 放在函数内..
CDLg1 dlg ;
DWORD WINAPI RecvThreadProc(LPVOID lpParameter)
{
dlg-> DoModal();
AfxMessageBox( "OK ");
return true;
}
void main()
{
HANDLE han = ::CreateThread(NULL, 0, RecvThreadProc, NULL, NULL, NULL);
CloseHandle(han);
}
当执行dlg-> DoModal();时就出错,而AfxMessageBox( "OK ");则不会 为什么呢????????????
------解决方案--------------------
用DialogBox()
------解决方案--------------------
你的dlg是指针吗?另外为什么不把dlg变量声明在线程函数内部?
------解决方案--------------------
只要 CDLg1 没问题
dlg.DoMode()就该没问题.
//--------------------------
最好把 CDLg1 dlg 放在函数内..