下载进度条的问题总结

       点击下载按钮以后开始进行下载,弹出进度条,当下载结束后进度条对话框退出。
   处理方法:
   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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值