您的位置:学习中国 推荐教程 VB编程 正文
原作者:kuku 添加时间:2007-06-02 原文发表:2007-06-02 人气:252 来源:互联网

本文章共3089字,分2页,当前第1页,快速翻页:
 

一切都在变,就连进度条这个小东西也在发生着变化,由以往的单色形式变成了现今更加亮丽的过渡色形式甚至更为复杂漂亮的形式,给软件也增添了不少色彩。我在这里要告诉各位制作一种非常简便实用的制作方法:
  一、实现原理

  采用一个完整的图片来作为进度条,每次当进度条改变时,采用先贴图再用背景色擦去不需显示的一段进度的方法来实现进度条的变化,可实现制作任何复杂美观的进度条。
  二、准备工作
  首先需准备一个如下图样式的进度条图片(当然你可以做你自己喜欢的样式)。然后在窗体中加入一PictureBox控件,属性设置如下:
AutoSize:True
Appearance:Falt
AutoRedraw:True
ScaleMode: Pixel
Picture:″准备的图片″
  再加一辅助控件(只用于保存图片,方便快捷地使用进度条)Image,属性设置如下:
  Picture:″准备的图片″
  Visible:FALSE
  说明:本文所讲的进度条并不是狭义上那种安装程序中常见的仅表示一个事件进程的进度条,而是把那些条形的,表示一个量的大小的图示统称为进度条。以此概念为基础让我们先来看看它的一些用途和类别,然后给出各类进度条的实现。
  进度条的用途:
  ※在一般软件中表示执行进度
  ※在多媒体播放器中表示音量大小、频率节奏的变化…
  ※在游戏中表示角色的能量、生命值…
  进度条的分类:
  由以上用途可知,进度条大体可分为两类
  第一类:自动变化的进度条(如安装程序中的进度条)
  第二类:可由用户操作的进度条(如音量调节)
  以下是两类进度条的代码。
  实现第一类的方法:
  Const MaxValue = 100
  Const MinValue = 0
  Dim Gene As Single
  Dim ProValue As Single
  Sub InitData()
  Gene = Picture1.ScaleWidth / (MaxValue - MinValue)
  End Sub
  Sub SetProBar(value As Single)
  Dim X As Single
  ProValue = value
  If ProValue > MaxValue Then
  ProValue = MaxValue
  Else
  If ProValue < MinValue Then
  ProValue = MinValue
  End If
  End If
  Text1.Text = ProValue
  X = (ProValue - MinValue) * Gene
  With Picture1
  Picture1.Picture = Image1.Picture
  Picture1.Line (X, 0)-(.ScaleWidth, .ScaleHeight), vbWhite, BF
  End With
  End Sub
  以上是实现第一类进度条的全部代码,它有相当的独立性,不管你准备的进度条有多长,此代码都可无须改变而应用于你的系统中。其中,MAXVALUE、MINVALUE为此进度条所表示的最大最小值,可由实际应用而定。
  PROVALUE 为当前的进度值,可由它得到当前值,以便处理。
  SETPROBAR 为实际使用的过程,在软件中通过调用此过程来改变进度条的长度。VALUE 的取值为 MINVALUE~MAXVALUEINITDATA 是初始化进度条长度和实际要表示的范围的比例因子,在软件中首先要调用此过程完成初始化工作。
  第二类实现方法:
  要实现此类进度条,只需在第一类的基础上再加上响应用户操作的部分即可
  具体所加代码如下:
  Private Sub picture1_MouseMove(Button As Integer, Shift As Integer, X As Single,Y As Single)
  If Button = 1 Then
  Picture1_MouseDown Button, Shift, X, Y
  End If
  End Sub
  Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single,Y As Single)
  If Button = 1 Then
  ProValue = Int(X / Gene + MinValue + 1)
  SetProBar ProValue
  End If
  End Sub
  应用示例:
  建一工程,然后加入下列控件,并写入所示代码即可。
  控件:两个PictureBox,组成控件数组(属性设置如上)但:picture1(0)的BorderStyle:None
 
本文章更多内容1 - 2 - 下一页>>
本页地址
相关文章

用VB设计聚焦框程序
用VB6实现动态增减控件
VB实现窗口的弹出式菜单
VB6制作Win98风格的工具栏
VB编程的必备技巧
VB程序中处理随机事件
Video/ Audio压缩数据流播放技术
怎么让窗体透明后,控件不透明?
如何拖动没有边框的窗体?
多个窗体之间如何互相调用
Cool 3D 浮動按鈕的模擬作法
Office或IE4风格的ToolBar
VB 5.0中实现鼠标拖放
VB5.0下工具条的制作
VB5.0中基于桌面的屏幕技巧
VB5.0中实现字体闪烁效果
VB5实现窗口图像缩放、滚动技巧
VB6.0动态加载ActiveX控件漫谈
VB6制作Win98风格的工具栏
VB编程步步高-表单篇

相关评论


本文章所属分类:首页 推荐教程 VB编程   VB编程