创建setup类型的进度条

新建一个工程

增加一个picture box和command button

加入下面的代码:
Dim tenth As Long
'条件编译
#If Win32 Then
Private Declare Function BitBlt Lib "gdi32" _
(ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, _
ByVal dwRop As Long) As Long
#Else
Private Declare Function BitBlt Lib "GDI" (ByVal hDestDC As _
Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth _
As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, _
ByVal xSrc As Integer, ByVal ySrc As Integer, ByVal dwRop As _
Long) As Integer
#End If
Sub UpdateStatus(FileBytes As Long)
'--------------------------------------------------------------------
' 更新Picture1 status bar
'--------------------------------------------------------------------
  Static progress As Long
  Dim r As Long
  Const SRCCOPY = &HCC0020
  Dim Txt$
  progress = progress + FileBytes
  If progress > Picture1.ScaleWidth Then
    progress = Picture1.ScaleWidth
  End If
  Txt$ = Format$(CLng((progress / Picture1.ScaleWidth) * 100)) + "%"
  Picture1.Cls
  Picture1.CurrentX = _
  (Picture1.ScaleWidth - Picture1.TextWidth(Txt$)) \ 2
  Picture1.CurrentY = _
  (Picture1.ScaleHeight - Picture1.TextHeight(Txt$)) \ 2
  Picture1.Print Txt$
  Picture1.Line (0, 0)-(progress, Picture1.ScaleHeight), _
  Picture1.ForeColor, BF
  r = BitBlt(Picture1.hDC, 0, 0, Picture1.ScaleWidth, _
    Picture1.ScaleHeight, Picture1.hDC, 0, 0, SRCCOPY)
End Sub
Private Sub Command1_Click()
  Picture1.ScaleWidth = 109
  tenth = 10
  For i = 1 To 11
    Call UpdateStatus(tenth)
    x = Timer
    While Timer < x + 0.75
      DoEvents
    Wend
  Next
End Sub
Private Sub Form_Load()
  Picture1.FontBold = True
  Picture1.AutoRedraw = True
  Picture1.BackColor = vbWhite
  Picture1.DrawMode = 10
  Picture1.FillStyle = 0
  Picture1.ForeColor = vbBlue
End Sub

F5 运行,点击 Command1就可以看到效果.

时间: 2024-10-31 01:56:49

创建setup类型的进度条的相关文章

1.CCProgressTo进度动作,条形进度条,扇形进度条

 1 Bar形进度 CCSprite * proBack = CCSprite::create("barback.png"); proBack->setPosition(ccp(winSize.width/2 - 100,winSize.height/2)); addChild(proBack); CCProgressTimer * left = CCProgressTimer::create(CCSprite::create("bar.png")); l

js插件YprogressBar实现漂亮的进度条效果

  以下为你介绍js插件YprogressBar实现漂亮的进度条效果:       ProgressBar.js 是一个借助动态 SVG 路径的漂亮的,响应式的进度条效果.使用 ProgressBar.js 可以很容易地创建任意形状的进度条.这个 JavaScript 库提供线条,圆形和方形等几个内置的形状,但你可使用 Illustrator 或任何其它的矢量图形编辑器创建自己的进度条效果. 简介 YprogressBar是一款基于HTML5的进度条插件. YprogressBar是一款轻量级进

Bootstrap &lt;基础二十六&gt;进度条

原文:Bootstrap <基础二十六>进度条 Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet Explorer 9 及之前的版本和旧版的 Firefox 不支持该特性,Opera 12 不支持动画. 默认的进度条 创建一个基本的进度条的步骤如下: 添加一个带有 class .progress 的 <div>. 接着,在上面的 &l

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.7 技巧:使用进度条微件显示进程的状态

7.7 技巧:使用进度条微件显示进程的状态 当Web应用程序执行一个动作的持续时间超过大约两秒钟时,为用户显示动作状态是一个很好的做法.如果不知道动作的状态,通常会改变鼠标光标或显示一个旋转的效果. 在某些情况下,你能知道进程的进度.在这种情况下,最好尽可能准确地满足用户的期待.代码清单7-7介绍了jQuery UI的进度条(progressbar),可以使用它实现这样的目的. 代码清单7-7 将一个 元素转换为进度条 00 <!DOCTYPE html> 01 02 <html lan

Android带进度条的下载图片示例(AsyncTask异步任务)

为什么要用异步任务? 在Android中只有在主线程才能对ui进行更新操作,而其它线程不能直接对ui进行操作 android本身是一个多线程的操作系统,我们不能把所有的操作都放在主线程中操作 ,比如一些耗时操作.如果放在主线程中 会造成阻塞 而当阻塞事件过长时 系统会抛出anr异常.所以我们要使用异步任务.android为我们提供了一个封装好的组件asynctask. AsyncTask可以在子线程中更新ui,封装简化了异步操作.适用于简单的异步处理.如果多个后台任务时就要使用Handler了

iOS中使用NSProgress类来创建UI进度条的方法详解_IOS

一.引言 在iOS7之前,系统一直没有提供一个完整的框架来描述任务进度相关的功能.这使得在开发中进行耗时任务进度的监听将什么麻烦,在iOS7之后,系统提供了NSProgress类来专门报告任务进度. 二.创建单任务进度监听器 单任务进度的监听是NSProgress最简单的一种运用场景,我们来用定时器模拟一个耗时任务,示例代码如下: @interface ViewController () { NSProgress * progress; } @end @implementation ViewCo

Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)

  本文将讲解如何做一个类似MyEclipse启动画面的闪屏,为Java Swing应用程序增添魅力.   首先看一下效果图吧,       原理很简单,就是创建一个Dialog,Dialog有一个进度条和一个Label用来分别显示进度和进度信息,而Dialog的宽度和高度正是闪屏图片的宽度和高度.然后将闪屏图片贴到Dialog中作为整个窗体的背景,Dialog显示时覆盖闪屏所处的区域.由于Dialog显示时闪屏并没有消失,且Dialog的X.Y及宽高都与闪屏图片一致,因此实际切换时,非常流畅,

详细解析JSP编程中进度条的设计实例

js|编程|设计 许多Web应用.企业应用涉及到长时间的操作,例如复杂的数据库查询或繁重的XML处理等,虽然这些任务主要由数据库系统或中间件完成,但任务执行的结果仍旧要借助JSP才能发送给用户.本文介绍了一种通过改进前端表现层来改善用户感觉.减轻服务器负载的办法. 当JSP调用一个必须长时间运行的操作,且该操作的结果不能(在服务器端)缓冲,用户每次请求该页面时都必须长时间等待.很多时候,用户会失去耐心,接着尝试点击浏览器的刷新按钮,最终失望地离开. 本文介绍的技术是把繁重的计算任务分离开来,由一

android ListView和ProgressBar(进度条控件)的使用方法_Android

ListView控件的使用:ListView控件里面装的是一行一行的数据,一行中可能有多列,选中一行,则该行的几列都被选中,同时可以触发一个事件,这种控件在平时还是用得很多的.使用ListView时主要是要设置一个适配器,适配器主要是用来放置一些数据.使用起来稍微有些复杂,这里用的是android自带的SimpleAdapter,形式如下:android.widget.SimpleAdapter.SimpleAdapter(Context context, List<? extends Map<