关于Photosho中若干技术实现方法之提问一:鼠标指针的秘密。
大家可以看到鼠标的颜色是不断改变的,现在我也想模仿这种功能,不过似乎直接从鼠标上动手有很多困难,想请CSDN的各位朋友多多指点下。
[解决办法]
我觉得它是预先制作好的动态光标 利用这个动态光标 非常容易的实现光标变色或变形
动态光标的显示代码:
Option Explicit
'**********************************动态ANI光标函数
Private Declare Function SetClassLong& Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long)
Private Declare Function LoadCursorFromFile& Lib "user32" Alias "LoadCursorFromFileA" (ByVal lpFileName As String)
Private Const GCL_HCURSOR& = (-12)
Private NewCursor1&, OldCursor1&, AppDisk$
Private Sub Form_Activate()
MsgBox "你现在看到的是一般的白色箭头光标,按下确定后,你就能看到你设定的动态光标,按下任何键退出时,取消动态光标!!"
End Sub
Private Sub Form_Load()
'**********************************设置动态ANI光标
AppDisk = IIf(Right(App.Path, 1) = "", App.Path, App.Path & "")
NewCursor1 = LoadCursorFromFile(AppDisk & "dinol.ani")
OldCursor1 = SetClassLong(Me.hwnd, GCL_HCURSOR, NewCursor1)
End Sub
Private Sub Form_Unload(Cancel As Integer)
'**********************************取消动态ANI光标
SetClassLong Me.hwnd, GCL_HCURSOR, OldCursor1
End
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii <> 0 Then Unload Me
End Sub
在你的电脑里面搜一下 .ani 替换代码中的 dinol.ani 放在 app.path