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

标签 c++ user-interface winapi mfc spy++

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

enter image description here

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

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 存在的滚动条类,但 TreeView 控件(以及大多数其他常见控件)使用 the other scrollbar type它是父 HWND 的一部分(WS_HSCROLL 和/或 WS_VSCROLL 样式)。

关于c++ - 如何获取SysTreeView32滚动条的句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59250746/

相关文章:

c++ - WinINet API 可以在 Windows Server 操作系统上使用吗?

C++优化函数调用批处理模式

C++ - 从 main 之外的方法访问数组(在 main 中)

c++ - 事件日志最旧记录号

algorithm - 哪一个是撤消/重做行为的可接受约定?

winapi - 使用 go 读取 ETW 提供程序

c++ - 如何针对不同类型的图片设计加载器?

Java GridBag 布局无法正常工作

java - 程序不允许十进制输出

c# - 为什么 C#(相当慢)和 Win32/C 之间的性能差异?