^^ 创建setup类型的进度条(vb6) ^^

原创 2001年05月06日 16:38:00

       ^^             创建setup类型的进度条(vb6)          ^^

  1. 新建一个工程
  2. 增加一个picture box和command button
  3. 加入下面的代码:
    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 


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

浅谈VB6中的自定义类的使用

[SHR]浅谈VB6中的自定义类的使用    PS:除非特别声明,本文所说VB指的是VB6,而非VB.NET。    大家都知道,VB是一种半面向对象(也有人称之为“伪面向对象”)的语言,...
  • chinajobs
  • chinajobs
  • 2015年06月30日 11:28
  • 2611

inno setup学习需要掌握的知识点

如下是一个zhuojian// 获取Bug说明的索引 function getIndex():String; begin Result := IntToStr(K); end; // 创建显示的...
  • mazhimazh
  • mazhimazh
  • 2014年07月30日 11:55
  • 1375

Inno Setup入门(四)——为程序创建桌面快捷方式

Icons这一可选段定义所有创建在开始菜单和\或其它位置 (比如桌面) 的快捷方式。一个例子如下: [setup] ;全局设置,本段必须 AppName=Test AppVer...
  • yushanfenghailin
  • yushanfenghailin
  • 2013年12月10日 21:06
  • 2247

vb中获取(int,long数据类型)的高位值与低位值的相关计算方法

1.long数据类型相关函数,以下函数来自网络,具体来源网站未做记录,仅做了简单测试。 '将16进制字符串转换为Long整型数据 Public Function HEX_to_DEC(ByVal...
  • dd_zhouqian
  • dd_zhouqian
  • 2013年06月27日 14:07
  • 3097

Inno Setup制作实例:Inno Setup安装服务的代码

 我们编写的程序经常需要在安装的时候将它安装成服务。使用Inno Setup如何实现呢?一下是我实现的相关代码。希望对大家有所帮助。 {*************加入服务部分*****...
  • MaxWoods
  • MaxWoods
  • 2014年11月25日 18:40
  • 3723

InnoSetup快速入门(四):创建桌面快捷方式并作为可选的附加任务

在创建开始菜单快捷方式图标的基础上稍作修改就可以创建桌面快捷方式图标: [Setup] AppName=MySetup AppVersion=1.0.0.0 DefaultDirName={pf...
  • MaxWoods
  • MaxWoods
  • 2015年08月19日 21:19
  • 5295

Inno Setup入门(十六)——Inno Setup类参考(2)

这里将接着在前面的基础上介绍如何在自定义页面上添加按钮。按钮属于Tbutton类,该类继承自TbuttonControl,类定义如下: TButton = class(TButtonContro...
  • yushanfenghailin
  • yushanfenghailin
  • 2013年12月10日 21:16
  • 955

Inno setup 常用修改技巧

1 、如何让协议许可页面默认选中我同意按钮[code] procedure InitializeWizard(); begin WizardForm.LICENSEACCEPTEDRADIO.C...
  • yinhuaiya
  • yinhuaiya
  • 2016年08月25日 14:29
  • 1853

【VB6】实现VB6中类的静态方法

原创文章,欢迎支持 在VB的使用过程中,较为高级和较为具有兼容性的编程方式是创建类模块。 比如创建了一个数组创建类,专门用来创建特定类型的数组,它被存在一个“ArrayHelper.cls”文件中...
  • greatbody
  • greatbody
  • 2016年02月13日 19:52
  • 1248

VB6与VB.NET的区别

语言   ·声明、初始化、终止 窗体作为一个类出现,所以窗体可以实现继承 由构造函数方法来实现初始化,总是命名为New,相当于VB6中的Class_Initialize 如果New对应VB6...
  • sunqing0316
  • sunqing0316
  • 2013年06月23日 08:01
  • 2187
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:^^ 创建setup类型的进度条(vb6) ^^
举报原因:
原因补充:

(最多只允许输入30个字)