首先我是想当鼠标移到节点上时指针变成手形,不在节点上时是箭头,所以用了下面的一段代码:
Private Sub FileList_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Set FileList.SelectedItem = FileList.HitTest(x, y)
If FileList.SelectedItem Is Nothing Then
FileList.MousePointer = 0
Else
FileList.MousePointer = 99
End If
End Sub
下面这段代码在有子节点的时候好像都用不上。
Private Sub FileList_NodeClick(ByVal Node As MSComctlLib.Node)
If FileList.SelectedItem Is Nothing Or FileList.SelectedItem.Children <> 0 Then Exit Sub
IFP = IFL & FileList.SelectedItem.FullPath
InfoFiles IFP, "*.*"
End Sub
但是这样之后麻烦也跟着来了,就是当鼠标移到节点时会自动展开这个节点的子节点,一移开又收起了这个节点的子节点,很苦恼的是想要展开的时候很方便,但是不想要收起的时候吧总是会一不小心移开了被收起。
请问大家可以在哪设置或是有什么代码解决这个问题。listview鼠标
Private Sub FileList_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Set FileList.SelectedItem = FileList.HitTest(x, y)
If FileList.SelectedItem Is Nothing Then
FileList.MousePointer = 0
Else
FileList.MousePointer = 99
End If
End Sub
下面这段代码在有子节点的时候好像都用不上。
Private Sub FileList_NodeClick(ByVal Node As MSComctlLib.Node)
If FileList.SelectedItem Is Nothing Or FileList.SelectedItem.Children <> 0 Then Exit Sub
IFP = IFL & FileList.SelectedItem.FullPath
InfoFiles IFP, "*.*"
End Sub
但是这样之后麻烦也跟着来了,就是当鼠标移到节点时会自动展开这个节点的子节点,一移开又收起了这个节点的子节点,很苦恼的是想要展开的时候很方便,但是不想要收起的时候吧总是会一不小心移开了被收起。
请问大家可以在哪设置或是有什么代码解决这个问题。listview鼠标
解决方案 »
- 请问,我想让表格的左边第一列,固定,不能操作,怎么做啊,我用的是vb的mshflexgrid
- 当VB中调用了EXCEL,覆盖对话框的属性的选择值的读取
- 请问在VB中申明C++中的函数时 % $ 分别代表什么意思啊
- VB程序能否实现后台下载文件?
- 请教各位一个小程序
- 怎样添加一个下拉框到mshflexgrid ?
- 使驱动器列表框driverl和目录列表框dirl能产生同步效果?
- 【新手提问】对针式的报表打印机,如何设置纸张?用什么方法打印?
- 请问高手,怎样判断鼠标左右键同时按下这一事件?十分感谢!
- 关于串口通讯的问题
- VB下Modbus-Rtu 读出的byte如何转为数值
- VB的ADODB打开连接报错
还有你说的应该是 TreeView1 吧,Listview 没什么节点展开的呀。
可能你还没有明白我的意思,我是希望鼠标在节点上移开的时候,节点不要自动折叠收起。我是希望收起的时候用鼠标单击节点才收起。
Dim nodeobj As Node
Dim exState As Boolean
Set nodeobj = TreeView1.HitTest(x, y)
If Not nodeobj Is Nothing Then
exState = nodeobj.Expanded ' 先记录原始节点的状态
Set TreeView1.SelectedItem = nodeobj ' 设置节点为选择
TreeView1.SelectedItem.Expanded = exState ' 无论是否展开,都保持原始的状态
TreeView1.MousePointer = 99
Else
TreeView1.MousePointer = 0
End If
End Sub