gpt4 book ai didi

Delphi fsStayOnTop 怪事

转载 作者:行者123 更新时间:2023-12-03 04:25:16 25 4
gpt4 key购买 nike

这是交易。主窗体设置为fsNormal。该主窗体最大化全屏并带有 float 工具栏。工具栏是正常形式,样式设置为fsStayOnTop

大多数情况下这会按预期工作。主窗体显示,工具栏浮在其顶部。

有时(这是查找一组可重现步骤的错误)当使用 alt-tab 键切换到其他应用程序或从其他应用程序切换时(或单击任务栏上的 Delphi 应用程序图标时),可能会出现以下症状:

  1. 当使用 alt-tab 键离开 Delphi 应用程序时, float 的最上面的 fsStayOnTop 表单将保持在其他应用程序的顶部。因此,如果我使用 alt-tab 切换到 Firefox,那么 float 菜单也会保留在 Firefox 顶部。

  2. 当从另一个应用程序通过 alt-tab 键切换到 Delphi 应用程序时, float 菜单不可见(因为它位于 fsNormal 主窗体后面)。

这是一个已知的错误还是有任何黑客手段可以强制其工作?当应用程序的多个副本运行时,这种情况似乎也最常见(它们之间没有交互,应该在自己的窗口“沙箱”中运行)。

就好像 Delphi 混淆了哪个窗口应该位于顶部并交换它们或将 float 形式更改为 Stayontopofeverything 模式。

或者我误解了fsStayOnTop?我假设将表单样式设置为 fsStayOnTop 使其位于当前应用程序中的所有其他表单之上,而不是其他正在运行的应用程序中的所有窗口。

最佳答案

更多信息和可能的解决方案。

将 float 形式设置为fsnormal。

当mainform.activate事件触发时,调用floatingform.bringtofront。

但我也对所有其他应用程序对话框使用stayontop。当应用程序的多个副本正在运行时,对话框会显示相同的问题(即,如果 app1 打开了一个对话框,并且使用 alt-tab 键远离该对话框,则该对话框可能会保留在所有其他程序的顶部)。

关于Delphi fsStayOnTop 怪事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460709/

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