gpt4 book ai didi

wpf - 在窗口背景中创建一个透明孔 - WPF

转载 作者:行者123 更新时间:2023-12-04 06:01:05 24 4
gpt4 key购买 nike

我有一个带有这些值的窗口:

WindowState="Maximized"
AllowsTransparency="True"
Opacity="0.5"
WindowStyle="None"

此窗口位于其他窗口(作为弹出窗口)之上,其内容位于特定位置。

我有一个新的要求。这个窗口必须从下面的窗口中显示一个矩形区域。换句话说,我必须在这个窗口中设置一个完全透明的“洞”(没有不透明度值)。
直到这一刻,我才想出一种方法来制作这个透明的洞。

希望有想法...

最佳答案

尽量避免 AllowsTransparency=true,它有很多问题而且很慢。

您可以 PInvoke SetWindowRgn 来创建任何形状的窗口:

  • 使用 CreateRectRgn 两次,一次用于窗口边界矩形,一次用于孔。
  • 使用CombineRgn 和RGN_AND 作为第四个参数来获得一个有洞的区域
  • 调用 SetWindowRgn 将区域应用到窗口
  • 不要忘记删除除传递给 SetWindowRgn 的区域之外的所有区域
  • 关于wpf - 在窗口背景中创建一个透明孔 - WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/765365/

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