这是交易。主窗体设置为fsNormal
. 这个主窗体是最大化的,带有一个浮动工具栏的全屏。工具栏是标准形式,样式设置为fsStayOnTop
.
大多数情况下,这按预期工作。主窗体显示,工具栏浮在其顶部。
有时(这是一个寻找可重复的步骤集的麻烦)当 alt-tabbing 与其他应用程序之间(或单击任务栏上的 Delphi 应用程序图标时)可能会发生以下症状:
当 alt-tab 离开 Delphi 应用程序时,浮动的最上面
fsStayOnTop
的表单保持在其他应用程序的顶部。因此,如果我 alt-tab 切换到 Firefox,那么浮动菜单也会保留在 Firefox 之上。当从另一个应用程序切换到 Delphi 应用程序时,浮动菜单不可见(因为它位于主窗体后面
fsNormal
)。
这是一个已知的错误还是有任何黑客迫使它工作?当应用程序的多个副本正在运行时,这似乎也最常发生(它们之间没有交互,应该在自己的窗口“沙箱”中运行)。
就好像 Delphi 混淆了哪个窗口应该在最上面并交换它们或将浮动形式更改为 stayontopofeverything 模式。
还是我误解了fsStayOnTop
?我假设设置表单样式以fsStayOnTop
使其保持在当前应用程序中的所有其他表单之上,而不是其他正在运行的应用程序中的所有窗口。