> mobjProgBar.BackColor = Picture1.BackColor
Set mobjPieBar = New clsPieBar
Set mobjPieBar.PictureBox = Picture2
Me.ScaleMode = vbPixels
Me.Show
mobjProgBar.Value = 100
mobjPieBar.Value = 100
DoEvents
Call ConvertTime
Exit Sub
ErrHandler:
MsgBox Err.Description, vbCritical + vbOKOnly, App.Title
End Sub
Private Sub Form_UnlCancel As Integer)
Set mobjSlumber = Nothing
Set mobjProgBar = Nothing
Set mobjPieBar = Nothing
End
End Sub
Private Sub mobjSlumber_Slumber()
On Error GoTo ErrHandler
If mobjSlumber.ElapsedMilliseconds > 0 Then
mdCurrentTime = mdTotalTime - CDbl(mobjSlumber.ElapsedMilliseconds / 1000)
mobjProgBar.Value = (100 * (mobjSlumber.ElapsedMilliseconds / (mdTotalTime * 1000)))
mobjPieBar.Value = mobjProgBar.Value
Else
mobjProgBar.Value = 0
mobjPieBar.Value = 0
mdCurrentTime = mdTotalTime
End If
mdCurrentHours = Int(CStr(mdCurrentTime)) \ 3600
mdCurrentSecs = mdCurrentTime - (mdCurrentHours * 3600)
mdCurrentMins = Int(CStr(mdCurrentSecs)) \ 60
mdCurrentSecs = mdCurrentSecs - (mdCurrentMins * 60)
Call Display(Format$(mdCurrentHours, "000") & "." & Format$(mdCurrentMins, "00") & "." & Format$(mdCurrentSecs, "00.0000"))
Exit Sub
ErrHandler:
Err.Raise Err.Number, Err.Source, "[frmCountdown.mobjSlumber_Slumber]" & Err.Description
End Sub
Private Sub Display(Text As String)
With pbTextBuffer
.Cls
.CurrentX = 0
.CurrentY = 10
pbTextBuffer.Print Text
BitBlt Me.hDC, .Left, .Top, .ScaleWidth, .ScaleHeight, .hDC, 0, 0, SRCCOPY
End With
End Sub
Private Sub ConvertTime()
Call Display(Format$(Val(txtHours.Text), "000") & "." & Format$(Val(txtMins.