这样的进度条应该如何实现啊??????????在线等.....急啊,拜托各位了.

systar_wang 2006-01-07 11:18:51
大致是这样的,一个对话框上有个按钮,点击是要进行大量的计算,时间根据循环的次数决定,
计算依次大概2秒中,如果循环50次呢,时间太长了,想做一个进度条提醒用户等待,只要是让用户知道没有死机就行.
最好是有这方面的代码,我太急了,明天就要啊,拜托各位了,谢谢!~
...全文
192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzq138 2006-04-26
  • 打赏
  • 举报
回复
..
lzzqqq 2006-01-09
  • 打赏
  • 举报
回复
把计算和进度的更新都放到线程中去.
注意线程函数的声明是static的.

void CMyDlg::OnBtnClick()
{
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadCalc,this,0,NULL);
}

DWORD CMyDlg::ThreadCalc(LPVOID lp)
{
CMyDlg* pDlg=(CMyDlg*)lp;
//A loop,just simulate your calculate.
for(int i=0;i<1000;i++)
{
/*
Some very complex calculate.
..............
*/
pDlg->m_progress.StepIt();
}
}
systar_wang 2006-01-09
  • 打赏
  • 举报
回复
TO:xing_xing_xing;请问这样创建的线程需要关闭吗?
要如何实现啊?拜托了,谢谢!
思危 2006-01-07
  • 打赏
  • 举报
回复
单开一个计算线程,或放到定时器中去做,这样界面就不会死。
每次循环中计算当前进度,然后设置进度条。
cpio 2006-01-07
  • 打赏
  • 举报
回复
你把你的计算放在新开的线程里面,界面就不会死掉

进度条就你想怎么进就怎么进都可以了
red-fly 2006-01-07
  • 打赏
  • 举报
回复
最大值设置为你的循环次数,当前值就是循环的次数
或者弄个百分比,最大值设为100,当前值就是当前循环的次数除以总次数再乘以100再转换成整数
lixiaosan 2006-01-07
  • 打赏
  • 举报
回复
//xxx.h
static UINT MyThread(LPVOID pParam);

//xxx.cpp

UINT CXXXDLG::MyThread(LPVOID pParam)
{
// CXXXDLG *pDlg = (CXXXDLG*)pParam;

//这里设置进度条
m_progress.SetPos(100);



return 0;
}
xing_xing_xing 2006-01-07
  • 打赏
  • 举报
回复
DWORD WINAPI CalcProc(LPVOID l)
{
((MyDlg*)l)->Calc();
return 0;
}
void MyDlg::Calc()
{
while(1)
{
//Your Calc code...
//.............
//Check abort flag
if(bAbort)
{
return;
}
}
}
void MyDlg::OnBtnClick()
{
CreateThread(0,0,CalcProc,this,0,0);
CProgressDlg dlg;
if(dlg.DoModal() == IDCANCEL)
{
bAbort = true;
}
}
systar_wang 2006-01-07
  • 打赏
  • 举报
回复
关于新开线程我不会啊?
谁有这方面的代码?谢谢了,我快急疯了..................................

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧