即使 Windows 7 Flip 3D 已激活,如何使表单始终位于顶部

发布于 2025-01-03 06:04:59 字数 431 浏览 1 评论 0原文

我正在构建一个需要始终在顶部显示特定表单的应用程序(这是客户请求),到目前为止我正在使用 SetWindowPos 函数与 HWND_TOPMOST 值,并且有效很好,但是当激活 Windows 7 Flip 3D 功能时,我的应用程序不会保持在顶部。

Windows 7 Flip 3D

在此处输入图像描述

问题是,我的表单如何保持在顶部即使 Windows 7 Flip 3D 已激活,所有其他窗口的效果如何?

I'm building an app which needs display a particular form always on top (this is a customer request), so far I'm using the SetWindowPos function with the HWND_TOPMOST value, and that works fine, but when the Windows 7 Flip 3D feature is activated my app doesn't stay in top.

Windows 7 Flip 3D

enter image description here

The question is, how my form can stay on top of all the others windows even if the Windows 7 Flip 3D is activated?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听不够的曲调 2025-01-10 06:04:59

我前段时间使用 DwmSetWindowAttribute 函数修改 DWMWA_FLIP3D_POLICY 属性,带有 < strong>DWMFLIP3D_EXCLUDEABOVE 值。

试试这个代码

uses
  Winapi.DwmApi;

procedure TForm40.FormCreate(Sender: TObject);
var
  pvAttribute: Integer;
begin
  pvAttribute:= DWMFLIP3D_EXCLUDEABOVE;
  if DwmCompositionEnabled then
   DwmSetWindowAttribute(Handle, DWMWA_FLIP3D_POLICY, @pvAttribute, Sizeof(Integer));
end;

,这就是结果

在此处输入图像描述

I do this some time ago using the DwmSetWindowAttribute function modyfing the DWMWA_FLIP3D_POLICY attribute with the DWMFLIP3D_EXCLUDEABOVE value.

Try this code

uses
  Winapi.DwmApi;

procedure TForm40.FormCreate(Sender: TObject);
var
  pvAttribute: Integer;
begin
  pvAttribute:= DWMFLIP3D_EXCLUDEABOVE;
  if DwmCompositionEnabled then
   DwmSetWindowAttribute(Handle, DWMWA_FLIP3D_POLICY, @pvAttribute, Sizeof(Integer));
end;

And this is the result

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文