MFC进度条重绘 (CProgressCtrl)
MFC进度条(CProgressCtrl) 重绘
先看一张图:
新建一个 继承自 CProgressCtrl 的类,然后添加 OnPaint 消息处理函数,此函数代码如下:
void CNewProgress::OnPaint() {CPaintDC dc(this);CBrush BackgroundBrush;BackgroundBrush.CreateSolidBrush(RGB(255,0,0)); CBrush ForeBrush;ForeBrush.CreateSolidBrush(RGB(100,255,0)); CRect r;this->GetClientRect(r);double With=r.Width();int min,max;this->GetRange(min,max);int pos= this->GetPos();double unit=(double)r.Width()/(max-min);dc.FillRect(r,&BackgroundBrush); r.right=pos*unit; dc.FillRect(r,&ForeBrush); }
这样就实现了 CProgressCtrl 重绘。
如果你想在 进度条中 添加 用鼠标左键单击,然后到指定的位置,这一功能,就要再添加对OnLButtonDown 消息的处理。代码如下:
void CNewProgress::OnLButtonDown(UINT nFlags, CPoint point) { CRect r;this->GetClientRect(r);double With=r.Width();int min,max;this->GetRange(min,max); double unit=(double)(max-min)/r.Width(); //int pos= point.x*unit;this->SetPos(pos);CProgressCtrl::OnLButtonDown(nFlags, point); }
MFC进度条重绘 (CProgressCtrl)相关推荐
- MFC 进度条自绘按钮类
MFC 进度条自绘按钮类 废话不多说 先看效果 看看怎么调用 这当然先包含砸门的进度条绘图类 #include "MySlider.h"MySlider m_lider;//防在D ...
- java 重绘_java进度条重绘要怎么编写?
进度条相信小伙伴们都知道,一些游戏在加载时经常能看见,在编写进度条时有时候因为一些不可抗拒原因出错就需要重绘进度条,下面跟小编看看如何重绘. 代码如下:package luojing; import ...
- MFC进度条编程控制
1. 进度条的主要功能 进度条控制(Progress Control)主要用来进行数据读写.文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用 ...
- MFC 进度条使用方法
目的:学习MFC 进度条控件的用法: 步骤: 新建一个对话框项目.添加控件"progress""static"è改名了"进度",添加两个BU ...
- VC++ MFC进度条
引用自:博客园 昵称:ike_li VC++ MFC进度条 1.常用函数 SetRange(0,100)设置范围: SetStep(int i)设置步长: StepIt():单步递增进度: int S ...
- MFC进度条控件颜色的设置
平台:VS2013 内容介绍:创建进度条控件Progress Control控件并给它颜色的设置.在VC6.0里头可以直接用SendMessage函数就可以设置颜色了,但是在VS里头是不行的,要对进度 ...
- MFC进度条学习笔记
最近工作中有使用到进度条的知识,就来学习学习这个控件~~ 先来看看想要达到的效果: 好的,现在开始正题. 我们这里的进度条,在程序里面叫做CProgressCtrl,它是继承自CWnd类的基础控件类, ...
- 多线程对比:通过创建线程的方式来同步MFC进度条显示
一.功能说明 目的:当主线程需要处理大量数据导致耗费时间很长时,主线程界面的进度条会卡顿不刷新,无法实时保持进度,因此需要将进度条显示与数据处理分开,将数据处理过程放在新建的线程中,主界面主要用来显示 ...
- MFC进度条控件(六)
程序功能:点击按键 进度条前进到满格. (一)初始化 // TODO: 在此添加额外的初始化代码m_progress.SetRange32(0,100);//设置进度条最小和最大值 按键函数入口 双击 ...
最新文章
- 如何挖掘医疗数据?看这份KDD2021《异构医疗数据挖掘》教程
- Python中可以使用静态类变量吗?
- Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API结合实例讲解)
- python pycharm 如何绘制类图 关系图 继承图 父子图?
- win7下安装TensorFlow
- 从word得到表格数据插入数据库(6位行业代码)
- 性能测试:基础(5)
- ubuntu14.04 caffe安装前先要将gcc版本降到4.7.x
- 爬虫笔记_1、爬虫的五个步骤及举例
- 程序员必备的25个好网站汇总
- C#中使用listview的checkBoxs全选和取消全选
- 读headFirst设计模式 - 装饰者模式
- C#飞机大战案例详细教程
- iOS6下关于屏幕旋转的控制
- linux一键分区脚本,【Shell】Linux中分区脚本
- FPGA 中的有符号数乘法
- 浅谈一个新人的大数据之路
- WSL2连接调用USB设备
- opencv 图像去噪学习总结
- vue 启动项目时动态切换 ip
热门文章
- 华为eNSP防火墙NAT地址转换之NAT-NOPAT
- oracle+9i+rac+价格,ORACLE RAC最新报价仅售192000元
- 初学者-如何使用bootstrap框架设计一个简单的网页主界面HTML+CSS+Bootstrap
- 哈密顿算子与梯度、散度、旋度
- 决策树——CART算法+实战(sklearn)
- 机器学习算法工程师面试集锦(更新中)
- 【PyTorch深度学习实践】08_Softmax分类器(多分类)
- Ubuntu 16.04 firefox 安装 flash
- Android开发宇视监控播放,宇视科技视频监控(EZPlayer)
- 医院挂号设计源代码_医院智能化管理系统方案解析