QQ登录

只需一步,快速开始

实现位图进度条--上位机VC

[ 复制链接 ]

实现位图进度条--上位机VC

实现位图进度条--上位机VC
实现位图进度条 实现位图进度条
功能展示
微软提供有一进度条,但样式比较单一 ,不能实现图片显示功能,我们当前例程通过继承Cstatic类实现图片类型的进度条,效果如图,点击设置位置,可将进度条进度设置在指定位置,点击模拟进度可将进度条从头到尾走一遍
要点提示
  1. 例程图片进度条的实现主要在绘制函数OnPaint()中实现,先绘制出背景图片,再根据进度绘制出前景图片的比例区域
  2. void CBmpProgress::OnPaint()
  3. {
  4.         CPaintDC dc(this); // device context for painting
  5.        
  6.         m_length = (float)m_nPos/(m_nUpper-m_nLower);
  7.         GetClientRect(&m_rect);
  8.         pDCBack->CreateCompatibleDC(&dc);
  9.         pDCFore->CreateCompatibleDC(&dc);

  10.         bmpBack.GetBitmap(&bmback);
  11.         bmpFore.GetBitmap(&bmfore);
  12.         pDCBack->SelectObject(bmpBack);

  13.         dc.StretchBlt(0,0,m_rect.Width(),m_rect.Height(),pDCBack,0,0,bmback.bmWidth,bmback.bmHeight,SRCCOPY);

  14.         (CBitmap*)pDCFore->SelectObject(bmpFore);
  15.         dc.StretchBlt(0,0,m_rect.Width()*m_length,m_rect.Height(),pDCFore,0,0,bmfore.bmWidth*m_length,bmfore.bmHeight,SRCCOPY);
  16.        
  17.         pDCBack->DeleteDC();
  18.         pDCFore->DeleteDC();
  19. }
复制代码
实现功能
  1. 1.新建基于对话框的应用程序
  2. 2.新建一新的类,class CBmpProgress : public Cstatic,用于实现图片进度条。
  3. 3.添加类的成员变量,并在构造函数中初始化,在析构函数中释放
  4. private:
  5.         int m_nLower;
  6.         int m_nUpper;
  7.         int m_nStep;
  8.         int m_nPos;
  9.         float m_length;
  10.         CRect m_rect;
  11.         CBitmap * oldbmp;
  12.         CBitmap bmpBack;
  13.         CBitmap bmpFore;
  14.         CDC * pDCBack;
  15.         CDC * pDCFore;
  16.         BITMAP bmback;
  17.         BITMAP bmfore;
复制代码
  1. 4.再添加成员函数       
  2. int  SetStep( int nStep );
  3.         int  StepIt();
  4.         int  SetPos(int nPos);
  5.         int  GetPos();
  6.         void GetRange(int &lower,int &upper);       
  7.         void SetRange( int nLower, int nUpper );       
  8.         int  OffsetPos( int nPos );
  9. 分别用于设置进度条的位置,范围,进度数值,具体函数的实现参考例程源码部分


复制代码
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:实现位图进度条--上位机VC.rar 
文件大小:618.65 KB  售价:3金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

回复

使用道具 举报

大神点评(1)

快速回复 返回列表 客服中心 搜索