AllBasic
Progress Bar
'Form üzerine'bir adet commandbutton
'iki adet picturebox (İkinci Picturebox'ı birinci Picturebox içerisine çizerseniz daha kullanışlı olur)
ModuLe yazılacak Bölüm
Dim atla As Boolean
Private Sub İşlemBar(Çubuk As PictureBox, HareketliÇubuk As PictureBox, YazıHiza As AlignmentConstants, Yazi As String, MaxDeğer, Değer)
Dim yukarıort
If atla = True Then GoTo ileri
HareketliÇubuk.Align = 1
If HareketliÇubuk.Left = 0 And HareketliÇubuk.Top = 0 Then
HareketliÇubuk.Align = 0
Çubuk.ZOrder 1
HareketliÇubuk.Left = Çubuk.Left + 30
HareketliÇubuk.Top = Çubuk.Top + 25
HareketliÇubuk.Height = Çubuk.Height - 50
HareketliÇubuk.Width = 0
Else
HareketliÇubuk.Left = 0
HareketliÇubuk.Top = 1
HareketliÇubuk.Width = 0
HareketliÇubuk.Height = Çubuk.Height
End If
If Not HareketliÇubuk.BorderStyle = 0 Then
HareketliÇubuk.BorderStyle = 0
End If
If Not HareketliÇubuk.ForeColor = vbWhite Then
HareketliÇubuk.ForeColor = vbWhite
End If
If Not Çubuk.ForeColor = vbBlack Then
Çubuk.ForeColor = vbBlack
End If
HareketliÇubuk.AutoRedraw = True
Çubuk.AutoRedraw = True
'Renkleri Buradan Değiştirebilirsiniz...
HareketliÇubuk.BackColor = vbHighlight
Çubuk.BackColor = vbButtonFace
Çubuk.ScaleMode = 1
HareketliÇubuk.ScaleMode = 1
ileri:
Çubuk.Cls
HareketliÇubuk.Cls
If Çubuk.BorderStyle = 1 Then
yukarıort = (Çubuk.Height - Çubuk.TextHeight(Yazi) - 60) / 2
Else
yukarıort = (Çubuk.Height - Çubuk.TextHeight(Yazi)) / 2
End If
If YazıHiza = 0 Then 'Sola Dayalı
Çubuk.CurrentX = 0
Çubuk.CurrentY = yukarıort
HareketliÇubuk.CurrentX = 0
HareketliÇubuk.CurrentY = yukarıort
End If
If YazıHiza = 1 Then 'Sağa Dayalı
Çubuk.CurrentX = Çubuk.Width - Çubuk.TextWidth(Yazi) - 90
Çubuk.CurrentY = yukarıort
HareketliÇubuk.CurrentX = Çubuk.Width - Çubuk.TextWidth(Yazi) - 90
HareketliÇubuk.CurrentY = yukarıort
End If
If YazıHiza = 2 Then 'Ortada
Çubuk.CurrentX = (Çubuk.Width / 2) - (Çubuk.TextWidth(Yazi) / 2)
Çubuk.CurrentY = yukarıort
HareketliÇubuk.CurrentX = (Çubuk.Width / 2) - (Çubuk.TextWidth(Yazi) / 2)
HareketliÇubuk.CurrentY = yukarıort
End If
If HareketliÇubuk.Width >= (Çubuk.Width - 60) Then GoTo ileri2
HareketliÇubuk.Width = (Değer * Çubuk.Width) / MaxDeğer
ileri2:
HareketliÇubuk.Print Yazi
Çubuk.Print Yazi
atla = True
DoEvents
End Sub
Forma Yazılcak Bölüm
Private Sub Command1_Click()
Dim yüzde As String
Picture1.Height = 255
Command1.Enabled = False
atla = False
For i = 1 To 100 Step 0.1
yüzde = (100 * Picture2.Width) / Picture1.Width + 1
If i = 100 Then yüzde = "100"
İşlemBar Picture1, Picture2, vbCenter, Int(yüzde) & "% prepare by Shama hasansama@yahoo.com", 100, i
Next
Command1.Enabled = True
End Sub
Private Sub Form_Load()
With Picture1
.Left = 0
.Top = 120
.Width = 6495
.Height = 255
End With
Picture2.Width = 0
With Form1
.Height = 1740
.Width = 6630
.Caption = "ProgressBar Örneği"
End With
With Command1
.Caption = "Başla"
.Left = 120
.Top = 500
End With
End Sub