窗体线程响应:
CWinThread *pThread=AfxBeginThread(RUNTIME_CLASS(CUIThread)); 一切正常。但是在CWinThread *pThread=AfxBeginThread(RUNTIME_CLASS(CUIThread));后加上一些内容就不行了。内容为:
1、对一文本文件的读写操作
2、上传某一个文件到服务器上(SFTP)我本意是想把整个上传的过程在CUIThreadDlg上的进度条和状态框中表示出来。
但是加了1和2功能后,CUIThreadDlg就不再响应,至少没有弹出来显示。求救,谢谢
CWinThread *pThread=AfxBeginThread(RUNTIME_CLASS(CUIThread)); 一切正常。但是在CWinThread *pThread=AfxBeginThread(RUNTIME_CLASS(CUIThread));后加上一些内容就不行了。内容为:
1、对一文本文件的读写操作
2、上传某一个文件到服务器上(SFTP)我本意是想把整个上传的过程在CUIThreadDlg上的进度条和状态框中表示出来。
但是加了1和2功能后,CUIThreadDlg就不再响应,至少没有弹出来显示。求救,谢谢
可如下做:
1 先显示出窗口
2. 启动线程,执行文件上传操作,
3. 线程中,回调窗口函数,执行进度条刷新。
void CUploadFilesDlg::UploadFatFiles()
{
CWinThread *pThreadS=AfxBeginThread(RUNTIME_CLASS(CUploadDisplay)); CWinThread *pThreadD = AfxBeginThread(GetAndUploadFileThread,this);
}
不过CUploadDisplay还是没有显示出窗体来,class CUploadDisplay : public CWinThread是这样一个类,主要想实现调用新的窗体显示, 而GetAndUploadFileThread则通过全局变量传递参数给CUploadDisplayDlg窗体实现数据更新。