最近在做一个东西 想用进度条体现工作进程
所以做了一个多线程 主线程用来更新 另一个线程用来处理
但是很奇怪的是 我有三个点击函数都用了这种方式
创建进度条都是这样:
m_ProgressCtrl.Create(WS_CHILD | WS_VISIBLE | PBS_SMOOTH,CRect(870,530,990,545),GetParentFrame(),IDC_Progress);
m_ProgressCtrl.ShowWindow(SW_SHOW);
m_ProgressCtrl.SetRange(0,X); // 这是一个变量,已经给出
m_ProgressCtrl.SetStep(1);在主线程的循环中
m_ProgressCtrl.SetPos(Pos); //这个变量 由计算线程实时给出但是只有一个点击函数能够实时刷新 另两个函数必须要在运行这个之后才能刷新 否则虽然跟踪Pos已经在变化了 主线程就是不能刷新 这是为什么
还有就是 Create之后进度条也没有立刻出现 而是等了一小会
所以做了一个多线程 主线程用来更新 另一个线程用来处理
但是很奇怪的是 我有三个点击函数都用了这种方式
创建进度条都是这样:
m_ProgressCtrl.Create(WS_CHILD | WS_VISIBLE | PBS_SMOOTH,CRect(870,530,990,545),GetParentFrame(),IDC_Progress);
m_ProgressCtrl.ShowWindow(SW_SHOW);
m_ProgressCtrl.SetRange(0,X); // 这是一个变量,已经给出
m_ProgressCtrl.SetStep(1);在主线程的循环中
m_ProgressCtrl.SetPos(Pos); //这个变量 由计算线程实时给出但是只有一个点击函数能够实时刷新 另两个函数必须要在运行这个之后才能刷新 否则虽然跟踪Pos已经在变化了 主线程就是不能刷新 这是为什么
还有就是 Create之后进度条也没有立刻出现 而是等了一小会
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货