用C API在Notes中实现进度条
来源:互联网 发布:网络推手阿建联系方式 编辑:程序博客网 时间:2024/05/19 22:02
在Notes 的C/S 编程中,经常需要对一个集合中的对象进行遍历处理,这时如果能显示一个进度条指示当前处理进程,就比较直观形象,客户界面也比较友好。
1、声明API函数
'声明API函数
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 )
2、首先是自定义一个类 ProgressBar 。这样以后的调用比较方便。
'定义 ProgressBar 类
Class ProgressBar
Private hwnd As Long
' 构造类
Sub 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
Public Sub UpdatePosition (BarPos As Long)
' 公共方法:更新进度位置
Call NEMProgressSetBarPos (Me.hwnd, BarPos)
End Sub
Public Sub UpdateProgressText (BarMsg As String, UpdateMsg As String)
' 公共方法:更新进度条显示文字
Call NEMProgressSetText (Me.hwnd, BarMsg, UpdateMsg)
End Sub
End Class
'类结束
3、调用
在任意过程或者函数中,都可以用 new ProgressBar 调用。在调用时,需要先声明一个常量 NPB_TWOLINE% ,当NPB_TWOLINE%=1 时,显示的是位于窗口中间偏上的较大的进度条,当NPB_TWOLINE%=32 时,显示的是位于屏幕下方的小进度条。
例子:
把ProgressBar 类代码写在按钮的 Click Script 中,并命名为 ProgressBar。
在按钮的(Options)中:
Use "ProgressBar"
在按钮的Click中:
Sub Click
Const NPB_TWOLINE% = 1
dim pb as new ProgressBar(1000)
dim i as long
for i=1 to 1000
'....
call pb.UpdatePosition(i)
next i
End Sub
- 用C API在Notes中实现进度条
- Notes中有关C++API的注意事项
- notes c api
- 在shell中实现进度条
- 在Linux下用C语言实现简单的进度条
- 用javabean在JSP页面中实现进度条效果
- Lotus Notes C API 编程
- 用c语言实现进度条
- 在ABAP中实现进度条的例子
- iOS在UIAlertView中实现UIProgress进度条
- 在Linux中实现一个进度条程序
- 在C/C++中 用C API遍历lua table
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的 C API 编程
- Lotus Notes/Domino 的C API编程
- 【C语言】进度条实现
- 解读Wave文件头
- 从好友收罗来的,希望对自己有帮助。
- 小生境思想在多目标优化算法中的运用
- NET导出Excel-2
- 关于0电阻的应用
- 用C API在Notes中实现进度条
- weblogic10.3 部署tomcat应用 心得
- Reflector.FileDisassembler的一个bug修复
- redhat下双网卡聚合
- 观片器
- css float 解析
- 算法的时间复杂度
- js验证数字,电话号码,传真,邮箱,手机号码,邮编,日期
- 加快Android模拟器启动速度