マウスを動かしていないとき、マウスカーソルを消すには?


カーマン  2008-02-13 20:17:27  No: 100260  IP: 192.*.*.*

はじめまして。
環境はWinXP + VisualBasic6 sp5 です。

あるアプリケーションを作成しています。通常はデータ表示(全画面)しているだけの画面で、マウス・キーボードの操作は行いません。電源OFFのときにマウスを操作します。
ですので、通常はマウスカーソルの表示が不必要なので、消去しておきたいのです。で、マウスを動かしたときにはカーソルを表示させたいのです。
このようなことは可能なのでしょうか?
よろしくお願いします。

編集 削除
魔界の仮面弁士  2008-02-13 20:28:27  No: 100261  IP: 192.*.*.*

自フォームの上だけで良いのであれば、これで如何でしょう。

<隠す場合>
Me.MousePointer = vbCustom
Me.MouseIcon = [透明なカーソル]

<戻す場合>
Me.MousePointer = vbDefault


[透明なカーソル]は、アイコンエディタ等で作成してください。
プログラムで作成するのであれば、こんな感じ。


Me.ScaleMode = vbPixels
With Me.Picture1
    .Visible = False
    .BorderStyle = 0
    .Move 0, 0, 32, 32
    .AutoRedraw = True
    .BackColor = vbBlack
End With
Me.ImageList1.MaskColor = vbBlack
Me.ImageList1.UseMaskColor = True
Dim LI As ListImage
With Me.ImageList1.ListImages
    .Clear
    Set LI = .Add(Picture:=Me.Picture1.Image)
End With
SavePicture LI.ExtractIcon(), "C:\SAMPLE.CUR"


あるいは、ShowCursor API を使うという手法もあります。

編集 削除