Declare Sub NEMProgressEnd Lib "nnotesws.dll"() NEMProgressEnd Lib "nnotesws.dll"(Byval hwnd As Long)
Declare Sub NEMProgressSetBarPos Lib "nnotesws.dll"() NEMProgressSetBarPos Lib "nnotesws.dll"(Byval hwnd As Long,Byval dwPos As Long)
Declare Sub NEMProgressSetBarRange Lib "nnotesws.dll"() NEMProgressSetBarRange Lib "nnotesws.dll"(Byval hwnd As Long,Byval dwMax As Long)
Declare Sub NEMProgressSetText Lib "nnotesws.dll"() NEMProgressSetText Lib "nnotesws.dll"(Byval hwnd As Long,Byval pcszLine1 As String,Byval pcszLine2 As String)
Class ProgressBar
Private hwnd As Long
'构造类
New () New (BarRange As Long)
On Error Goto ErrorHandler
'创建进度条
Me.hwnd = NEMProgressBegin(NPB_TWOLINE)
'设置进度条的总长
Call NEMProgressSetBarRange(Me.hwnd,BarRange)
Exit Sub
ErrorHandler:
Dim TheError As String
TheError = "Constructor:Error" + Str(Err) + ":" + Error$
Messagebox TheError,0 + 48,"Progress Bar Error"
End Sub
'回收对象
Public Sub Delete
'取消进度条
Call NEMProgressEnd(Me.hwnd)
End Sub
Sub UpdatePosition() Sub UpdatePosition(BarPos As Long)
'公共方法:更新进度位置
Call NEMProgressSetBarPos(Me.hwnd,BarPos)
End Sub
Sub UpdateProgressText() Sub UpdateProgressText(BarMsg As String,UpdateMsg As String)
'公共方法:更新进度条显示文字
Call NEMProgressSetText(Me.hwnd,BarMsg,UpdateMsg)
End Sub
End Class
ConstNPB_TWOLINE% = 1
Dim pb As New ProgressBar(10000)
Dim m As Long
For m=1 To 10000
Call pb.UpdatePosition(m)
Next m