综合

img snowdot23

Showing Windows Progress Bar

发表于2004/10/12 21:35:00  689人阅读

If you're clients are all on Windows, you can display the progress bar when performing a long calculation. There are two types of progress bars -- one large graphical (like when you're copying a database) and one through the status bar at the bottom of the screen (like when you open a very large document over a dial-up connection).

For an example of the large graphical progress bar, build an agent with this code:

Const NPB_TWOLINE% = 1
Declare Function NEMProgressBegin Lib "nnotesws.dll" ( Byval wFlags As Integer ) As Long
Declare Sub NEMProgressEnd Lib "nnotesws.dll" ( Byval hwnd As Long )
Declare Sub NEMProgressSetBarPos Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwPos As Long)
Declare Sub NEMProgressSetBarRange Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwMax As Long )
Declare Sub NEMProgressSetText Lib "nnotesws.dll" ( Byval hwnd As Long, Byval pcszLine1 As String, Byval pcszLine2 As String )

Sub Initialize
   Dim hwnd As Long
   Dim i As Long
   Dim j As Long
   hwnd = NEMProgressBegin( NPB_TWOLINE )
   ' Set the bar range - the default is 100
   NEMProgressSetBarRange hwnd, 200
   ' Display text on the dialog.
   NemProgressSetText hwnd, "Calculating ...", "Start"
   For i = 0 To 200
      For j = 0 To 9000
         ' artificial delay for the example !!
      Next j
      ' Update the bar position
      NEMProgressSetBarPos hwnd, i
      ' Update the text at twenty five percent
      If i = 50 Then
         NEMProgressSetText hwnd, "Calculating ....", "25%"
      End If
      ' Update the text at fifty percent
      If i = 100 Then
         NEMProgressSetText hwnd, "Calculating .....", "50 %"
      End If
      ' Update the text at seventy five percent
      If i = 150 Then
         NEMProgressSetText hwnd, "Calculating ......", "75 %"
      End If
   Next
   ' Destroy the dialog when we're done
   NEMProgressEnd hwnd
End Sub

Run the agent and you will see the status bar.

阅读全文
0 0

相关文章推荐

img
取 消
img