下载进度条的问题总结
2013-03-21 19:48
162 查看
点击下载按钮以后开始进行下载,弹出进度条,当下载结束后进度条对话框退出。
处理方法:
1.创建进度条对话框资源;
2.创建线程,在线程中显示进度条对话框并向串口发数据
CDownloadProgress *downloadProgress = new CDownloadProgress;
downloadProgress->Create(IDD_DIALOG_PROGRESS);
thInfo.pBufSize = bufSize;
thInfo.pSendBuf = SendBuf;
thInfo.pdownprogress = downloadProgress;
AfxBeginThread(ControlThread,&thInfo,THREAD_PRIORITY_NORMAL,0,0);
UINT ControlThread(LPVOID lpParam)
{
threadInfo* pInfo = (threadInfo *)lpParam;
unsigned char *pSendBuf = (unsigned char *) pInfo->pSendBuf;
m_downloadProgress = (CDownloadProgress*)pInfo->pdownprogress;
int psize = pInfo->pBufSize;
m_downloadProgress->ShowWindow(SW_SHOW);
m_downloadProgress->CenterWindow();
// 弹出进度条
if(configView->com_send(pSendBuf,psize) != psize)
{
m_downloadProgress->m_ctrlProgress.SetPos(10);
return -1;
}
else
{
for(int i = 0; i<=100;)
{
m_downloadProgress->m_ctrlProgress.SetPos(i);
i += 20;
Sleep(50);
}
SendMessage(m_downloadProgress->m_hWnd,WM_CLOSE,0,0);
}
return 0;
}
出现的问题:数据发送成功了,进度条也好使了,但是接收串口数据的事件不响应了
解决办法:将打开串口设置波特率等一系列对串口控件变量的操作提到线程的外面执行。应该是这些设置造成了什么影响
原来可以这样关闭对话框:SendMessage(m_downloadProgress->m_hWnd,WM_CLOSE,0,0);
处理方法:
1.创建进度条对话框资源;
2.创建线程,在线程中显示进度条对话框并向串口发数据
CDownloadProgress *downloadProgress = new CDownloadProgress;
downloadProgress->Create(IDD_DIALOG_PROGRESS);
thInfo.pBufSize = bufSize;
thInfo.pSendBuf = SendBuf;
thInfo.pdownprogress = downloadProgress;
AfxBeginThread(ControlThread,&thInfo,THREAD_PRIORITY_NORMAL,0,0);
UINT ControlThread(LPVOID lpParam)
{
threadInfo* pInfo = (threadInfo *)lpParam;
unsigned char *pSendBuf = (unsigned char *) pInfo->pSendBuf;
m_downloadProgress = (CDownloadProgress*)pInfo->pdownprogress;
int psize = pInfo->pBufSize;
m_downloadProgress->ShowWindow(SW_SHOW);
m_downloadProgress->CenterWindow();
// 弹出进度条
if(configView->com_send(pSendBuf,psize) != psize)
{
m_downloadProgress->m_ctrlProgress.SetPos(10);
return -1;
}
else
{
for(int i = 0; i<=100;)
{
m_downloadProgress->m_ctrlProgress.SetPos(i);
i += 20;
Sleep(50);
}
SendMessage(m_downloadProgress->m_hWnd,WM_CLOSE,0,0);
}
return 0;
}
出现的问题:数据发送成功了,进度条也好使了,但是接收串口数据的事件不响应了
解决办法:将打开串口设置波特率等一系列对串口控件变量的操作提到线程的外面执行。应该是这些设置造成了什么影响
原来可以这样关闭对话框:SendMessage(m_downloadProgress->m_hWnd,WM_CLOSE,0,0);
相关文章推荐
- VIM配置问题总结及配置文件下载
- xcode7 根据URL从网络上下载图片 问题总结
- Win7下Genymotion中下载的Android虚拟器无法启动的问题总结
- java环境变量的总结,java环境变量问题,jdk下载,jdk7下载
- gitlab使用过程中遇到大文件上传或下载失败的问题,总结一下
- 关于maven下载jar包失败的问题的总结和解决
- 由Ajax请求一般处理程序下载文件引发的问题后的一些总结
- PHP下载生成的csv文件及问题总结
- Spring Boot视频206 Partial Content下载出问题总结
- 关于maven下载jar包失败的问题的总结和解决
- 关于keil下载时出现Verify Failed! 问题的总结
- Pyscripter下载地址及UnicodeEncodeError: 'ascii' codec解决方法 分类: software 问题总结 2013-01-16 15:41 3384人阅读 评论(0) 收藏
- 总结套路:Ajax请求下载文件的问题
- recyclerView中多任务下载文件进度条更新的问题
- 关于文件下载的几个问题总结
- Android studio导入工程很卡及下载网络jar很慢问题总结
- PHP下载生成的csv文件及问题总结
- 使用Struts2下载文件遇到问题总结
- 关于利用浏览器下载网络视频文件的问题总结
- android 源码下载问题归纳总结