如何获取 SysTreeView32 的滚动条句柄?

How to get the handle of a SysTreeView32's scrollbar?

我有一个带有两个关联滚动条的 SysTreeView32 控件:

从树所在的 window 开始,我无法恢复滚动条的句柄;我写了一个简单的递归函数来导航控件及其所有子项:

TestScroll( HWND hwnd, UINT msg, UINT_PTR nId, DWORD nTickCount)
{
    CWnd* pNextWnd = tmpWnd->GetWindow( GW_CHILD) ;

    if ( pNextWnd != NULL)
        TestScroll( pNextWnd->GetSafeHwnd(), msg, nId, nTickCount) ;

    pNextWnd = tmpWnd->GetNextWindow( GW_HWNDNEXT) ;

    if ( pNextWnd != NULL)
        TestScroll( pNextWnd->GetSafeHwnd(), msg, nId, nTickCount) ;

}

当我到达 SysTreeView32 控件时,我无法进一步进入层次结构,似乎没有更多的子控件;但 Spy++ 确认滚动条确实存在。

欢迎任何建议,非常感谢!

Windows 确实提供了一个可以作为 HWND 存在的滚动条 class,但是树视图控件(以及大多数其他常见控件)使用 the other scrollbar type,它是父级 HWND(WS_HSCROLL and/or WS_VSCROLL 样式)。