MsgBox Me.TreeView1.HitTest(x, y)

vbyes 2010-01-30 01:23:43
MsgBox Me.TreeView1.HitTest(x, y)

怎么老是显示ROOT节点呢? 奇怪?
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SYSSZ 2010-01-30
  • 打赏
  • 举报
回复
HitTest拖放操作时用来确定放下的目标项在当前位置是否可用的,其中的x, y是目标对象的坐标,如果没拖动操作,指向根节点---ROOT.
vbyes 2010-01-30
  • 打赏
  • 举报
回复
谢谢SYSSZ,以上是在EXCEL环境中,已圆满解决。
vbyes 2010-01-30
  • 打赏
  • 举报
回复
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _
ByVal hdc As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _
ByVal nIndex As Long) As Long
Private Const HWND_DESKTOP As Long = &H0&
Private Const LOGPIXELSX As Long = 88
Private Const LOGPIXELSY As Long = 90

Private Sub TreeView1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As stdole.OLE_XPOS_PIXELS, ByVal Y As stdole.OLE_YPOS_PIXELS)
Dim nod as Node
....
....
If Button = 2 Then
lngHdc = GetDC(HWND_DESKTOP)
posX = 1440& / GetDeviceCaps(lngHdc, LOGPIXELSX)
posY = 1440& / GetDeviceCaps(lngHdc, LOGPIXELSY)
ReleaseDC HWND_DESKTOP, lngHdc
Set nod= Me.TreeView1.HitTest(posX * X, posY * Y)
If nod Is Nothing Then Exit Sub
....
....
End If
....
....
End Sub

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧