加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 09:49:52 所属栏目:大数据 来源:网络整理
导读:我正在构建一个需要始终在顶部显示特定表单的应用程序(这是客户请求),到目前为止,我正在使用具有HWND_TOPMOST值的 SetWindowPos功能,并且工作正常,但是当Windows 7 Flip 3D功能被激活我的应用程序不会保持在顶部. Windows 7翻转3D 问题是,即使Windows 7 Flip
我正在构建一个需要始终在顶部显示特定表单的应用程序(这是客户请求),到目前为止,我正在使用具有HWND_TOPMOST值的 SetWindowPos功能,并且工作正常,但是当Windows 7 Flip 3D功能被激活我的应用程序不会保持在顶部.

Windows 7翻转3D

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

解决方法

我不久前使用 DwmSetWindowAttribute函数执行此操作,使用DWMFLIP3D_EXCLUDEABOVE值来调整 DWMWA_FLIP3D_POLICY属性.

试试这个代码

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;

这就是结果

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读