现在Windows环境下的应用程序经常要用到进度条,用以指示出一些复杂进程的运行状态。目前我们在窗体设计时,使用的都是单色进度条。本文讲述在WindowsXP环境下,使用VB2005制作一个漂亮的颜色 渐变的进度条组件。
一.技术细节
这种进度条的显示相当于使用许多颜色相近的“ 画笔”在窗体上绘制方框。这些“画笔”就相当于一个画笔数组。首先要建立颜色数组 ,初始的时候放入一些颜色值,然后根据平滑度的设置来重新设置颜色数组。依次取出颜色数组中两个 相邻的颜色值,计算这两个颜色经过混合后的颜色,再放入到两个颜色的中间。例子中颜色数组中有8种 颜色。平滑度的值从0开始循环,最高是7。每经过一次循环,颜色数组中就增加了一些过渡颜色。平滑 度设置的越大,则颜色过渡的越柔和。产生的效果越漂亮。颜色数组生成之后,画笔数组就确定了。它 的大小和颜色数组一致。有了画笔数组,下面的问题就是在窗体上进行绘图操作了。
二、实现原理
在绘图操作之前。所以要重载基类中的窗体的消息处理事件WndProc,窗体大小变化事件 OnResize和窗体重绘事件OnPaint。加入以下属性设置:
Minimum。表示进度条的最小值。默认是 0 。
Maximum。表示进度条的最大值。默认是 100 。
Value。表示了进度条的当前值。默 认是 0 。
Smoothness。表示了进度条颜色渐变的平滑度。默认是 0 。
在初始化的时候 ,设置了以上四个属性后,相应的画笔数组产生了。当前值的每次改变都要触发OnPaint事件。触发事件 后,首先绘制进度条的外部边框,接着得到内部边框的总宽度和高度。根据当前值,最小值和最大值计 算完成百分比,由完成百分比乘以总宽度得到当前值占用的宽度。总宽度除以画笔数组的个数得到每个 画笔所占用的宽度。然后就是从初始宽度循环到当前值占用的宽度,从画笔数组中依次使用画笔按照每 个画笔所占用的宽度和高度填充颜色。循环结束后,如果百分比为100。则使用画笔数组中的最后一个 画笔绘制颜色。进度条显示完毕。

鱼台论坛http://bbs.370827.org/thread-5725-1-1.html

利用VB2005制作颜色渐变的进度条相关推荐

  1. Android 自定义View实现环形带刻度颜色渐变的进度条

    上次写了一篇Android 自定义View实现环形带刻度的进度条,这篇文章就简单了,只是在原来的基础上加一个颜色渐变. 按照惯例,我们先来看看效果图 一.概述 1.相比于上篇文章,这里我们的颜色渐变主 ...

  2. 自定义android进度条渐变,自定义ProgressBar简单完成颜色渐变功能进度条

    我们在使用电脑或者手机时,经常会遇到进度条,比如下图: 今天我来演示一下,如何做出简单并且漂亮的颜色渐变进度条. 首先我先新建了一个系统默认样式的进度条,代码如下: 运行后显示如下: 大家可以看出,并 ...

  3. 利用 element ui 进度条实现渐变 条纹进度条

    首先 我们看下需要完成的效果 首先可以看到是一个有白色条纹,以及一个渐变色的条纹的进度条 第一部分呢 我们可以先写出这个白色的条纹 我们可以利用以下代码实现白色条纹 .el-progress-bar_ ...

  4. [Swift通天遁地]一、超级工具-(2)制作美观大方的环形进度条

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  5. python 渐变色柱形图_Python利用imshow制作自定义渐变填充柱状图(colorbar)

    目的 在各种各样的理论计算中,常常需要绘制各种填充图,绘制完后需要加渐变填充的colorbar.可是有些软件如VMD,colorbar渲染后颜色分布有些失真,不能较准确的表达各颜色对应的数值.用ps中 ...

  6. python绘制渐变图_Python利用imshow制作自定义渐变填充柱状图(colorbar)

    目的 在各种各样的理论计算中,常常需要绘制各种填充图,绘制完后需要加渐变填充的colorbar.可是有些软件如VMD,colorbar渲染后颜色分布有些失真,不能较准确的表达各颜色对应的数值.用ps中 ...

  7. android会员等级进度条,利用jQuery实现会员等级消费进度条代码

    特效描述:利用jQuery实现 会员等级 消费进度条代码.利用jQuery实现会员等级消费进度条代码 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 $(function(){ var ...

  8. Javascript制作游戏之一:进度条的制作

    为什么是从进度条说起呢?(猛男乙:笨蛋,他只会这个--) 哎呀,下手又重了,汗-- 嗯,旁边的高手请先回避一下.好,让我们开始吧.首先,要弄明白我们想做什么.这个呢,已经很明白了,就是进度条嘛!现在就 ...

  9. 带你了解Python炫酷的颜色输出与进度条打印

    Python风骚的打印 大家平时在Linux/Windows下安装软件时,经常会出现进度条和百分比的提示,Python是否能实现这样的打印?安装过程中,经常会看到很多带颜色的安装说明,我们在pytho ...

  10. 来看看Python炫酷的颜色输出与进度条打印

    英语单词优化 上篇文章写到了Python开发英语单词记忆工具,其中依赖了bootstrap.css jQuery.js 基础html模块以及片段的css样式.有些朋友问,怎么能将这个练习题打包成单独的 ...

最新文章

  1. 经典DP 嵌套矩形 (南洋理工ACM—16)
  2. pytorch focalloss多分类 单分类
  3. 【翻译自mos文章】OGG replicat 进程使用的 TCP port
  4. windows下安装node.js及环境配置、部署项目
  5. C++内存模型和原子类型操作
  6. 数据结构和算法 —— 图
  7. Android 笔记一
  8. 数学知识在游戏中的运用
  9. 【Python】Jupyter Notebook 配置路径
  10. ABBYY PDF Transformer+功能概述
  11. SQK Server提示:安装程序无法与下载服务器联系。请提供 Microsoft R Open 和 Microsoft R Server
  12. c语言小蜜蜂编程题,小蜜蜂 pascal程序
  13. Linux:UID和EUID
  14. lisp画弯箭头_在CAD中直接用命令画箭头
  15. 快速批量创建文件夹、文件的快捷键
  16. 淘点点能否不孚众望扛起阿里O2O的大任?
  17. 服务器固定战役非官方图
  18. 基于JavaWeb+MySQL的图书管理系统
  19. ArcGIS9为栅格数据管理提供了一个完整的系统
  20. 详解sd协议以及裸机和u-boot中的sd卡驱动(2)

热门文章

  1. 小米蓝牙音响驱动_小米手机绝佳配件,20W无线闪充,支持唤醒小爱,只卖149
  2. 《学习笔记13》——web前端助手:插件fehelper的使用
  3. 模糊综合评价模型(上)
  4. 路由器OpenWRT、LEDE、潘多拉、华硕、梅林、老毛子系统区别和特点
  5. SQL 2005/2008质疑修复
  6. 代码整洁之道—技术分享
  7. 1024 科学计数法(C语言详解)
  8. 200 元人民币面世!
  9. Java 操作Word书签(二):添加文本、图片、表格到书签内容
  10. MQTT客户端程序的编写