用PictureBox代替進度條

發表于:2007-07-14來源:作者:點擊數: 標簽:
作者: 土人 本例演示如何用兩個PictureBox在MMControl播放媒體文件時逼真地模擬進度條。 步驟一:在窗體上繪制一個PictureBox,按自己的喜愛設置其背景色并調整其寬度和長度,將其命名為picProgress; 步驟二:按如下所述繪制另一個PictureBox。右鍵單擊picP
作者: 土人

本例演示如何用兩個PictureBox在MMControl播放媒體文件時逼真地模擬進度條。

步驟一:在窗體上繪制一個PictureBox,按自己的喜愛設置其背景色并調整其寬度和長度,將其命名為picProgress;
步驟二:按如下所述繪制另一個PictureBox。右鍵單擊picProgress,選取“復制”,在picProgress區域內再次單擊右鍵,選取“粘貼”,在彈出的詢問對話框中單擊“否”。將新繪制的PictureBox更名為picFill,注意將其背景色設置成與picProgress不同的顏色,接著改變Appearance屬性為0-Flat;
步驟三:缺省繪制一個Timer和一個MMControl控件;
步驟四:編寫代碼——

Option Explicit

Private Sub Form_Load()
Me.Caption = "單擊窗體開始演示"
Timer1.Enabled = False
Timer1.Interval = 100
MMControl1.Visible = False
picFill.Move 0, 0, 0 '進度條初始狀態
End Sub


Private Sub Form_Click()
Timer1.Enabled = True
With MMControl1
.FileName = "E:\Music\Midi\B&B.mid"'請更改此處
.Command = "Open"
.Command = "Play"
End With
End Sub

Private Sub Timer1_Timer()
Dim Max, Value, P, L
'Max和Value:進度條的最大值、進度值
'P和L:MMControl返回的長度和播放位置
Max = picProgress.Width
L = MMControl1.Length
P = MMControl1.Position
Value = (Max * P) / L
If MMControl1.Position = MMControl1.Length Then
picFill.Move 0, 0, 0 '復位
Timer1.Enabled = False
Else
picFill.Move 0, 0, Value '按進度值填充
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
MMControl1.Command = "Close"
End Sub

用PictureBox代替進度條至少有兩個好處:一、可以改變進度條的背景色和填充色;二、減少發布程序的容量。為此筆者常用上述方法來制作自己的進度條。
如果你有什么問題或建議, 歡迎與筆者聯系。 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97