关于制作CProgressCtrl进度条渐变闪烁的问题

落霞与孤鹜亓飞 2014-04-12 04:42:29
我做了一个发送文件显示发送进度的进度条,同时根据已发送数据比例不同而改变进度条的颜色,即实现进度条的渐变,但是做出来之后发现每次绘图都会出现闪烁问题,着实头疼,希望大家帮忙。下面贴上代码:
//进度条颜色渐变函数:
afx_msg void ::SetCprogressColor(CProgressCtrl *ProgCtrl, UINT per){
COLORREF colorrrefRGB1 =RGB(0,128,0); //绿色
COLORREF colorrrefRGB2 =RGB(0,128,20);
COLORREF colorrrefRGB3 =RGB(0,128,40);
COLORREF colorrrefRGB4 =RGB(0,128,60);
COLORREF colorrrefRGB5 =RGB(0,128,80);
COLORREF colorrrefRGB6 =RGB(0,128,100);
COLORREF colorrrefRGB7 =RGB(0,128,128);
//更新内容
ProgCtrl->SetRedraw(FALSE);
ProgCtrl->ShowWindow(SW_HIDE);
if(per <=10)
ProgCtrl->SetBarColor(colorrrefRGB1);
else if(per>10&&per<=20)
ProgCtrl->SetBarColor(colorrrefRGB2);
else if(per>20&&per<=30)
ProgCtrl->SetBarColor(colorrrefRGB3);
else if(per>30&&per<=40)
ProgCtrl->SetBarColor(colorrrefRGB4);
else if(per>40&&per<=50)
ProgCtrl->SetBarColor(colorrrefRGB5);
else if(per>50&&per<=60)
ProgCtrl->SetBarColor(colorrrefRGB1);
else if(per>60&&per<=70)
ProgCtrl->SetBarColor(colorrrefRGB1);
ProgCtrl->SetPos(per);
ProgCtrl->SetRedraw(TRUE);
ProgCtrl->Invalidate();
ProgCtrl->UpdateWindow();
ProgCtrl->ShowWindow(SW_SHOW);
}
...全文
231 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyefangzhou24 2014-04-12
  • 打赏
  • 举报
回复
回错贴了。。。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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