滚动条移动SetScrollPos和SendMessage

问题描述 投票:0回答:2

我正在尝试以编程方式移动窗口的滚动条。我首先发送一个:

SetScrollPos(handle, 1, position, true);

然后是:

SendMessage(handle, 0x0115, wparam, new IntPtr(0));

wparam 是正确的。当我通过spy++检查时,使用上述代码发送滚动和实际滚动之间的唯一区别是,在实际滚动中,消息嵌套级别为1,但这里为0。但除此之外,所有其他属性都相同,WM_VSCROLL、句柄、位置、wparam 等。但是编程滚动不会移动栏。 关于我做错了什么有什么建议吗???

P.S:尝试从 C# 应用程序执行此操作 非常感谢!

编辑:当我将 SB_BOTTOM 传递给 wparam 时,它会将我正确地带到滚动的末尾。

c# winapi scrollbar sendmessage
2个回答
1
投票

最好使用SetScrollInfo函数而不是手动发送消息。


0
投票

14 年过去了,这个 bug 仍然存在。 ^%$#@!微软!

© www.soinside.com 2019 - 2024. All rights reserved.