gpt4 book ai didi

c++ - Windows 区域和透明度

转载 作者:行者123 更新时间:2023-11-28 03:59:52 28 4
gpt4 key购买 nike

我在 BHO 中有一个 CDHTMLDialog,我希望它是部分透明的,因为透明区域会根据对话框的逻辑发生变化。我让它在视觉上变得透明(使用 SetLayeredWindowAttributes),但是让这个区域真正透明是至关重要的,因为否则当我点击透明区域时,我的点击不会到达对话框透明部分下方的 IE 窗口。我通过根据对话框事件部分的大小不断调整对话框的大小来临时解决这个问题,但我永远跟不上这个......

我认为该解决方案与 Windows 所谓的“区域”( http://msdn.microsoft.com/en-us/library/dd162915%28VS.85%29.aspx ) 有关,但我不确定如何使用它们。谁能指出我正确的方向?

最佳答案

我不认为你想让你的窗口的一部分透明,你想要做的是(我认为)设置窗口区域(就像你提到的那样)。阅读有关 SetWindowRgn() 的 MSDN - 基本上您定义了一个 HRGN 类型的 GDI 对象(如果您使用的是 MFC,则为 CRgn),它描述了特定形状的表面,并最终切掉了部分。然后,Windows 仅将您在窗口上设置的“区域”视为要使用的窗口的一部分。基本上,这就是制作非矩形 window 的方式。 “区域”不是窗口的“透明”部分,它是一种在某种程度上丢弃窗口区域的方法。

关于c++ - Windows 区域和透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1367953/

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