我想问下怎么获取treeview子节点句柄(急)

Hamilton0711 2011-11-09 01:08:32
我想问下怎么获取treeview子节点句柄
...全文
295 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
贝隆 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hamilton0711 的回复:]
这个我知道,用这样的方法我可以得到根节点,但是字节点获取不到在vb6.0当中。
[/Quote]
有了根节点,那就好办,使用FindWindowEx 来查找
Hamilton0711 2011-11-09
  • 打赏
  • 举报
回复
这个我知道,用这样的方法我可以得到根节点,但是字节点获取不到在vb6.0当中。
贝隆 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 patrickkong 的回复:]
抄来的,原作者是Francesco Balena


Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

……
[/Quote]
不管是不是抄来的,这是正解!
  • 打赏
  • 举报
回复
抄来的,原作者是Francesco Balena


Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

Private Const TVM_GETNEXTITEM = &H110A
Private Const TVGN_CARET = 9

' The handle of any node in a TreeView
'
' While VB developers reason in terms of Node objects, TreeView
' nodes are stored and referenced internally using 32-bit handles,
' and when you want to pass a reference to a Node in a API call you
' must pass the handle to it. The problem is that there is no easy
' way to get an arbitrary node's handle, and you can only get
' (or set) the handle of the selected node and a few others.
'
' However, we can get this information if we cheat a little,
' by temporarily selecting the node and then restoring the original
' selected node. This is very fast and the user won't notice any flickering.

Function GetTreeViewNodeHandle(ByVal TV As TreeView, Node As Node) As Long
Dim selNode As Node
' remember the node currently selected
Set selNode = TV.SelectedItem
' select the new node
Set TV.SelectedItem = Node
' send a message to retrieve the handle of current node
GetTreeViewNodeHandle = SendMessage(TV.hWnd, TVM_GETNEXTITEM, TVGN_CARET, _
ByVal 0&)
' restore the node that was selected
Set TV.SelectedItem = selNode
End Function
Francesco Balena

1,488

社区成员

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

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