vc++6.0下窗口刷新问题
我用MFC建立一个多文档工程,我想在菜单下点一个下拉菜单,这个下拉菜单会响应弹出一个窗口(domodal()即可)我还要对这个窗口进行刷新,比如来一个for循环改变窗口中...
我用MFC建立一个多文档工程,我想在菜单下点一个下拉菜单,这个下拉菜单会响应弹出一个窗口(domodal()即可)我还要对这个窗口进行刷新,比如来一个for循环改变窗口中的一个变量值,并显示出来。
UINT ThreadFunc(LPVOID pParam)
{
DlgConnect s;
s.DoModal();
memory_info.sock_mark=1;
// Sleep(1);
return 1;
}
void CMainFrame::OnStart()
{
DlgConnect s;
HANDLE hThread;
DWORD ThreadID;
hThread=CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)ThreadFunc,
pParam,
0,
&ThreadID);
CloseHandle(hThread);
// Sleep(1);
if(memory_info.sock_mark==1)
{
for(s.m_port=0;s.m_port<59;s.m_port++)
{
s.UpdateData(FALSE);
Sleep(100);
}
}
这是我做的,有问题,请高手指点! 展开
UINT ThreadFunc(LPVOID pParam)
{
DlgConnect s;
s.DoModal();
memory_info.sock_mark=1;
// Sleep(1);
return 1;
}
void CMainFrame::OnStart()
{
DlgConnect s;
HANDLE hThread;
DWORD ThreadID;
hThread=CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)ThreadFunc,
pParam,
0,
&ThreadID);
CloseHandle(hThread);
// Sleep(1);
if(memory_info.sock_mark==1)
{
for(s.m_port=0;s.m_port<59;s.m_port++)
{
s.UpdateData(FALSE);
Sleep(100);
}
}
这是我做的,有问题,请高手指点! 展开
1个回答
展开全部
1.首先你应该把DlgConnect s传给多线程函数
如下:
hThread=CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)ThreadFunc,
pParam,//这里改为(void*)(&s)
0,
&ThreadID);
2.在函数UINT ThreadFunc(LPVOID pParam)中
删除掉DlgConnect s;
把s.DoModal();
改为
(DlgConnect *)(pParm)->DoModal();
如下:
hThread=CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)ThreadFunc,
pParam,//这里改为(void*)(&s)
0,
&ThreadID);
2.在函数UINT ThreadFunc(LPVOID pParam)中
删除掉DlgConnect s;
把s.DoModal();
改为
(DlgConnect *)(pParm)->DoModal();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询