gpt4 book ai didi

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

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

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

Windows 7 Flip 3D

enter image description here

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

最佳答案

我不久前使用 DwmSetWindowAttribute 执行此操作函数修改 DWMWA_FLIP3D_POLICY具有 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;

这就是结果

enter image description here

关于delphi - 即使 Windows 7 Flip 3D 已激活,如何使表单始终位于顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9168833/

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