gpt4 book ai didi

c++ - XP 滚动条在 Windows7/Vista 中乱七八糟

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:40 24 4
gpt4 key购买 nike

我有这个 XP 应用程序 (win32 C++),我刚刚在 Windows7 下测试(实际上是 vista,但它在 Windows 7 中做同样的事情)。

令我惊讶的是,实际上我遇到的唯一问题如下:

复杂的无模型对话框中的所有滚动条都不能正常工作。主要问题是滚动拇指没有响应 - 如果您尝试移动它,它只会保持锁定在原位。一路回到win98、win2000、winxp都没有问题。只是现在在windows 7/Vista中

但是这个对话框中的滚动条没有共同点来解释它:一个是在通过资源文件创建的普通富文本控件中。另一个是通过 CreateWindow 创建的富文本。然而,第三个滚动条位于自定义窗口类中。它们都无法正常工作(尽管您可以通过右键单击并选择“滚动此处”使它们滚动)

所以我假设大多数人可能在几年前第一次移植到 Window7/Vista 时遇到过这个问题,但我现在在谷歌中找不到任何东西。

最佳答案

对于无模式对话框,您必须在主应用程序 GetMessage Loop 中运行 IsDialogMessage,因此无模式对话框的消息不受 TranslateMessage 和 DispatchMessage 的约束。所以我以前就是这样做的。但是,Vista/Win7 不喜欢 WM_MOUSEMOVE、WM_LBUTTONDOWN 和 WM_LBUTTONUP 像对话框那样被绕过(即它们需要留在主 App 消息循环中)。至少这是我的问题。我现在在主消息循环中检查这些消息类型,这解决了我的问题。不一定能解释。也无法解释为什么以前没有人遇到过这种情况(我猜可能是我设置的一些特殊性)。感谢那些调查此事的人。

关于c++ - XP 滚动条在 Windows7/Vista 中乱七八糟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8686314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com