我有一个带有两个关联滚动条的SysTreeView32控件:
从树所在的窗口开始,我无法恢复滚动条的句柄。我编写了一个简单的递归函数来导航控件及其所有子控件:
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存在的滚动条类,但树 View 控件(和大多数其他常见控件)使用the other scrollbar type,它是父级HWND的一部分(WS_HSCROLL
和/或WS_VSCROLL
样式)。