'读取指针文件或一个动画指针文件(扩展名分别是.cur和.ani)
Private Declare Function LoadCursorFromFile Lib "user32.dll" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
'改变一个标准系统指针
Private Declare Function SetSystemCursor Lib "user32.dll" (ByVal hcur As Long, ByVal id As Long) As Long
'从指定的模块或应用程序实例中载入一个鼠标指针
Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
'复制指定的光标
Private Declare Function CopyCursor Lib "user32" Alias "CopyIcon" (ByVal hcur As Long) As Long
'清除指定的鼠标指针,并释放它占用的所有系统资源
Private Declare Function DestroyCursor Lib "user32" (ByVal hCursor As Long) As Long
Private Const OCR_WAIT = 32514 '系统繁忙指针参数
Dim hCursor As Long
Dim OldCurSor As Long
Private Sub Form_Load()
'取系统繁忙事件的指针
OldCurSor = LoadCursor(ByVal 0&, OCR_WAIT)
'复制指针文件,以便能正常恢复初始状态
OldCurSor = CopyCursor(OldCurSor)
'新的指针文件
hCursor = LoadCursorFromFile(CurrentProject.Path & "\aero_working.ani")
End Sub
'在程序需要处理等待的地方加入下面的代码
'设置新的等待指针
SetSystemCursor hCursor, OCR_WAIT
' .............................. 需要处理事件的代码自已加吧
'恢复初始指针
SetSystemCursor OldCurSor, OCR_WAIT
Private Sub Form_Unload(Cancel As Integer)
'释放指针资源
If OldCurSor <> 0 Then
SetSystemCursor OldCurSor, OCR_WAIT
End If
DestroyCursor OldCurSor
DestroyCursor hCursor
End Sub作者: tmtony 时间: 2008-2-18 23:37
老兄最近 API 佳作不断啊, 看来要弄个专栏了作者: andymark 时间: 2008-2-18 23:47
佳作谈不上,我是现学现卖,跟老大你相比还差很大的距离作者: tmtony 时间: 2008-2-19 00:26
我是越走越远了, 技术跟不上你们了.
不知有没有API 获取到 弹出窗体的Activate事件 或者 取得窗体获得焦点的消息 (Access此事件无反应) 最近为这个问题伤了脑筋作者: andymark 时间: 2008-2-19 11:08
用来处理什么事情的?
如果是传递数值,并执行相关的命令,我一般是通过公共变量和TIMER事件来解决作者: t小宝 时间: 2008-2-19 15:54
是不是这个函数用来自定义ACCESS运行繁忙时显示的指针形状?作者: t小宝 时间: 2008-2-19 16:00
是不是可以视为 Screen.MousePointer 的扩充作者: andymark 时间: 2008-2-19 16:09