设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用SetSystemCursor制作一个等待事件的窗体

2008-2-18 22:41| 发布者: andymark| 查看: 1030| 评论: 16

SetSystemCursor 看名字就知道是设置系统指针的涵数,我们常见的指针型态有手型的、繁忙等待的、水平调整、上下调整等等,根据既定的参数我们很容易把自已喜爱的鼠标指针设置为各种型态,来替代系统的指针。就让我们挖掘其功能,扩展一些新的用法吧。 这一节讲的是怎样利用SetSystemCursor 制作一个等待事件的窗体。准备之前,先在网上找一款动感的自已喜欢的鼠标指针(后缀名为ani) 。完整代码如下:    '读取指针文件或一个动画指针文件(扩展名分别是.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详细内容:http://www.office-cn.net/forum.php?mod=viewthread&tid=59721
发表评论

最新评论

查看全部评论(16)

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 14:04 , Processed in 0.079373 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部