たびたび質問で申し訳ありません。
VB2008でツリー構造を実現するために、TreeViewを使用したいと思います。
ツリーのノードをクリックした時に、そのノードに関連する処理を行いたい
のですが、
クリックできるということを知らせるため、マウスポインタの形をCursors.Hand(手の形)に変えたいのです。
・マウスがノード上にあるとき…Cursors.Hand
・マウスがノード上から離れたとき…Cursors.Default(元に戻す)
そこで、まずマウスがコントロールの上にあるときに発生するイベントを調べると、
TreeViewのNodeMouseHoverというイベントがありましたので、これを使えばいいかとも思いましたが、
それに対して、マウスがノードから外れたときのイベントが見当たりません。
上記を行うにはどのようにすればよいでしょうか?
よろしくお願いします。
MouseMove イベントにて、HitTest 判定を行ってみるとか。
TreeView1.Cursor = Cursors.Default
Dim ht = TreeView1.HitTest(e.Location)
If ht Is Nothing Then
Return
ElseIf ht.Location = TreeViewHitTestLocations.PlusMinus Then
TreeView1.Cursor = Cursors.Arrow
ElseIf ht.Location = TreeViewHitTestLocations.Label Then
TreeView1.Cursor = Cursors.Hand
ElseIf ……
:
:
End If
魔界の仮面弁士様、いつもお世話になっております。
教えていただいた方法で実現できました。
HitTestというものを初めて知りました。
ありがとうございました。助かりました。
ツイート | ![]() |