【发布时间】:2009-12-08 16:14:11
【问题描述】:
我的应用程序似乎没有接收或处理特定 Windows 版本上的 Cascade、Tile Horizontal/Tile Vertical 的相同 Windows 消息。
Windows XP x32 - 不工作
Windows XP x64 - 未测试
Windows Vista x32 - 不工作
Windows Vista x64 - 工作正常?
Windows 7 x32 - 未测试
Windows 7 x64 - 不工作
有人知道为什么会出现这种情况吗?有没有什么特定于 Vista x64 的东西不与其他人一样,我自己也不会这么想!
更新
更具体地说,我指的是当我打开一个或多个应用程序实例时,我按住 Ctrl 并从任务栏中选择这些实例,然后尝试层叠/平铺。
升级到 Delphi 2009 之前的旧版本应用程序似乎可以正常工作。与此不同的是我们现在使用的是 DevExpress 功能区组件。更令人沮丧的是,我们还有另一个版本的应用程序,它在 Delphi 2009 中并使用了功能区,而且效果很好!
【问题讨论】:
-
你如何“捕获”这些信息?也许它可以帮助
-
我没有困住他们,我以为是操作系统处理了这个问题?
-
我什至不知道你能做到这一点!对于它的价值,我只是在 WinXP-32 下使用 Delphi 2006 应用程序进行了尝试,你是对的。它不起作用。
-
@Mike,是的,您可以捕获多个 Windows 消息(我们实际上在很多情况下都会这样做)。但是,我们不会捕获特定于该区域的任何内容。
-
@James,我的意思是我不知道你可以从任务栏中多选应用程序并平铺它们。我以为我什么都知道:-} 刚刚尝试运行 Winspector - 我可以看到正确的 WM_WINDOWPOSCHANGING 和 WM_WINDOWPOCHANGED 消息进入队列,但应用程序实例没有移动。
标签: windows delphi delphi-2009 windows-messages