よくWindowsで長時間の待ち時間がある場合に砂時計が
上下するアニメーションがカーソルに表示されますが、
これをVB6.0の環境で待ち時間中にカーソルではなく、
フォームにアニメーションを貼付することはできるでしょうか?
また、マウスの上下アニメーションの場所がわかりません。
DLLの中とかに存在するのでしょうか?
お願いします。
APIのSetCursorとCreateCursorを使えば出来そうな感じです。
使ったことないですけど、、、
ちょこさんありがとうございます。
APIを使えばできそうとのことですが、当方初心者なのでAPIの
使いかたがわかりません・・・
SetCursorとCreateCursorで検索をしてみましたが、
難しいサイトばかりでした。
よりしければ定義の方法を教えてください。
お願いします。
私も実際に使ったことはないので試してみたいところですが、試す環境がなくて出来ません;;
(VB6持ってないです;;仕事で4年間やっただけですので...)
ただ、似たようなことをやろうした痕跡が....
http://webmaster.hatena.ne.jp/1054534388
あと、マウスの変更後にアプリケーション枠外から抜けたり、
アプリケーションを落とす際にも、マウスのカーソルを戻す処理を入れる対処が
必要なるので気をつけて行ってください。
アニメーションカーソルというのをご存知でしょうか?
拡張子が.aniのファイルです。WindowsフォルダのCursorsにいくつかあると思います。
とりあえずコードを示します。外れてたらすいません。
Private Declare Function LoadCursorFromFile Lib "user32.dll" (ByVal lpFileName As String) As Long
Private Declare Function SetSystemCursor Lib "user32.dll" (ByVal hCursor As Long, ByVal uId As Long) As Long
Private Declare Function LoadCursor Lib "user32.dll" (ByVal hInst As Long, ByVal uId As Long) As Long
Private Const IDC_ARROW As Long = 32512
Private Sub Form_Load()
Dim hCursor As Long
'カーソルをロード 適宜LoadCursorなどに変えてやってください。
hCursor = LoadCursorFromFile("Test.ani")
'システムカーソルを設定。
SetSystemCursor hCursor, IDC_ARROW
End Sub
Private Sub Form_QueryClose(Cancel As Integer, CloseMode As Integer)
'戻さないとずっとそのままです(笑)。
SetSystemCursor LoadCursor(0, IDC_ARROW), IDC_ARROW
End Sub